php中使用正则的两个函数
preg_match_all(正则表达式,匹配字符串)
返回匹配到的次数
preg_replace (正则表达式,替换成什么,匹配字符串)
返回替换后的结果
常用转义字符:
数字:\d
非数字:\D
空白字符(空格、制表符、换页符):\s
非空白字符:\S
单词字符(26个英文字母+数字+下划线):\w
非单词字符:\W
自定义字符集合
字符集合:[单个字符或字符区间],用于匹配集合内字符
如:
[a-z] 表示a-z这26个英文字母
[0-9a-z]表示 表示0-9这十个数字和a-z这26个英文字母
[135a-h] 表示1,3,5还有a-h这8个英文字母
注意:两个不同字符段间请勿使用,隔开。
非集:[^单个字符或字符区间],用于匹配非集合内字符。
如:
[^0-9]表示匹配所有非数字字符
[^a-zA-Z]表示匹配所有非字母集合
正则表达式的关键字
() => 和数学一样很像,代表这是一个整体。
^ => 匹配输入字符串的开始位置
$ => 匹配输入字符串的结尾位置
. => 通配符[代表任意字符][不匹配换行]
* => 匹配0次或者多次
=> 匹配1次或者多次
\ => 转义字符
| => 两项之间的一个选择。
限定符
{n} => 例如: 0{8} 意思是指 只有连起来8个0才会被匹配
{n,} =>例如: 0{2,} 意思是 只要有2个0及其以上的就会被匹配
{n,m} => 例如: 0{2,4} 意思是最少匹配2个0,最多匹配4个0
注:被匹配时,默认匹配最多的次数
修饰符
/i => 不区分大小写
/A => 匹配规则必须从头开始匹配
/s => 将匹配一切字符
/x => 正则表达式中的空白字符会被忽略