当前位置:Gxlcms > PHP教程 > PHP正则表达式的一些学习

PHP正则表达式的一些学习

时间:2021-07-01 10:21:17 帮助过:23人阅读

PHP 正则表达基本语法应用学习。



^ 开始


$ 结束


* 匹配零个或者更多 zero or more


"ab*" 匹配字符串a和0个或者更多的b组成的字符串("a" "ab" "abb" "abbbbbb" etc)


+ 匹配一个或者更多 one or more


"ab+" 匹配字符串a和一个或者更多b组成的字符串("ab" "abb" "abbbbbb" etc) 跟*的区别就是后面必须匹配一个b


?匹配零个或一个 zero or one


"ab?" 匹配0个或者一个b ("a", "ab")


.*? 常用来匹配 一大段字符串 即不需要规则的字符串,就是不用匹配直接想略过去的


例子:


"a?b+$" 匹配一个或者0个a 再加上一个以上的b结尾的字符串 ("b" "ab" "bbbbb" "abbbbbbb")






当然也可以在后面的大括号里面加上限制字符出现的个数


"ab{2}" 匹配一个a后面必须跟俩个b 即 "abb"


"ab{2,}" 匹配一个a 后面的b必须大于等于2个 "abb" "abbb" "abbbbb"


"ab{2,5}" 匹配一个a 后面的b在2到5之间 "abb" "abbb" "abbbb" "abbbbb"




但是小于两个b 就不能这样"ab{,2}" 必须是这样"ab{0,2}"


于是对于


* 就知道等价于 {0,}


+ 等价于 {1,}


? 等价于 {0,1}




()就是把一些字符串链接起来,用来匹配的


"a(bc)*" 就是匹配一个a然后后面跟0个bc或者多个bc "a" "abc" "abcbc" "abcbcbc" etc




| 这个字符相当于 OR操作


"hi|hello" 匹配含有hi 或者 是hello 的字符串


"(b|cd)ef" 匹配含有bef 或者cdef的字符串


"(a|c)*d" 匹配含有 "d" "ad" "cd" "aab" "ccd" "aaaaaaad" "cccccccd"






.可以代表所有的单一字符




"a.[0-9]" 可以匹配一个a 然后跟一个字符串 最后再跟一个数字 "aj9" "a<8" 其中中间的只要是单一的字符都是可以的


"^.{3}$" 以三个单一字符开始和结尾的 "asd" 多余三个单一的字符就不能被匹配 如"kjl."


[] 该符号包括住的内容只匹配一个单一的字符


"[ab]" 就是只匹配单个的a 或者单个的b 等价于 "a|b"


"[a-z]" 就是匹配26个小写字母


"^[a-zA-Z]" 匹配以字母开头的字符串


"[0-9]%" 就是匹配含有形如 x% 的字符串


",[a-zA-Z0-9]$" 匹配以逗号然后再加一个数字或者字母结尾的字符串 ",0" ",a" etc


PHP 一些常用的替代符号




## 或者// 表示分界符 单个的/表示转义字符


\s表示匹配空白的东西


\d 匹配一个数字字符


\w 匹配包括下划线的任何单词字符



网上大神总结的比较全的语法。


点击打开链接

人气教程排行