欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-10-06 11:48:24
1. ()匹配并捕获 2. []匹配字符组里的每一个字符 3.{}匹配出现的次数 !preg_match('/^[a-zA-Z0-9]{2,16}$/') 只允许2~16位大小写字母及数字 ......

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]/",$str,$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}/",$str,$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}/",$str,$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}/",$str,$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位大小写字母及数字