微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[日常] 正则表达式 小括号() 中括号[] 大括号{}

1. ()匹配并捕获

2. []匹配字符组里的每一个字符

3.{}匹配出现的次数

<?PHP
$str="taoshihan";
preg_match_all("/(tao)/",$str,$m);//匹配并捕获
var_dump($m);
/*
[0]是匹配到的
[1]是捕获到的
array(2) {
  [0]=>
  array(1) {
    [0]=>
    string(3) "tao"
  }
  [1]=>
  array(1) {
    [0]=>
    string(3) "tao"
  }
}
*/
preg_match_all("/[tao]/",$m);//匹配字符组中的字符
var_dump($m);
/*
按照单独的字符进行的匹配
array(1) {
  [0]=>
  array(4) {
    [0]=>
    string(1) "t"
    [1]=>
    string(1) "a"
    [2]=>
    string(1) "o"
    [3]=>
    string(1) "a"
  }
}

*/
preg_match_all("/a{1}/",$m);//匹配大括号前面的表达式出现次数
var_dump($m);
/*
这里就是表示a出现一次,有两个地方
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "a"
  }
}

*/
$str="123456";
preg_match_all("/[0-9]{1}/",$m);//匹配大括号前面的表达式出现次数
var_dump($m);
/*
匹配数字出现一次
array(1) {
  [0]=>
  array(6) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
    [3]=>
    string(1) "4"
    [4]=>
    string(1) "5"
    [5]=>
    string(1) "6"
  }
}

*/
$str="1234567";
preg_match_all("/[0-9]{1,2}/",$m);//匹配最少出现1次,最多出现2次
var_dump($m);
/*
array(1) {
  [0]=>
  array(4) {
    [0]=>
    string(2) "12"
    [1]=>
    string(2) "34"
    [2]=>
    string(2) "56"
    [3]=>
    string(1) "7"
  }
}

*/

!preg_match('/^[a-zA-Z0-9]{2,16}$/') 只允许2~16位大小写字母及数字  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐