现在的位置: 首页 > 综合 > 正文

PHP正则表达式的一些学习

2017年02月03日 ⁄ 综合 ⁄ 共 1122字 ⁄ 字号 评论关闭

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 匹配包括下划线的任何单词字符



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


点击打开链接

抱歉!评论已关闭.