php正则表达式 捕获组的小应用

捕获组:就是把匹配到的数据存起来,()表示一个捕获组,(?:)等等表示非捕获组(具体参考https://yq.aliyun.com/ziliao/144641)。
下面是代码:

<html>
<head>
<title>正则表达式</title>
<script>
window.onload=function () {
oTxt=document.getElementById('Txt');
oTxt.onclick=function () {
oTxt.value='';
}
}
</script>
</head>
<body>
<form action="match.php" method="post">
<input id="Txt" type="text" name="str" value="输入英文名和年龄">
<input type="submit" value="提交">
</form>
</body>
</html>

<?php
/**
* Created by PhpStorm.
* User: xiaoai
* Date: 2018/7/19
* Time: 16:45
*/
header("content-type:text/html;charset=utf-8");
if ($_POST){
$str=$_POST['str'];
$arr=array();
  //正则匹配,将捕获组匹配到的数据存到$arr里面
$res=preg_match("/^([a-zA-Z]+)([0-9][0-9]?)$/",$str,$arr);
if ($res){
echo "姓名是:".$arr[1]."<br>";
echo "年龄是:".$arr[2]."<br>";
}else{
echo "输入错误:".$str;
}
}
posted @ 2018-07-19 17:25  帅得不得了  阅读(261)  评论(0)    收藏  举报