PHP 正则表达式

正则表达式十分强大,作用非常多。所以特地记下以下内容,可作为速查手册。

  • \w是数字+大小写字母+下划线

  • \d是数字

  • \s是空白符(\n、\t等)

  • . 可以匹配任意字符(除了换行符\n)

↑↑↑它们的大写意思是对它们取反

+是至少一次

*是随便多少次

?是0次或者1次

\是转义,例如需要匹配+号,则使用\+ 来做匹配

| 是或者的意思(例如:a|b|c匹配a或者b或者c)

a{2} 意思是匹配a这个字符正好连续出现2次

a{2,} 意思是匹配a这个字符连续出现大于等于2次

a{2,5} 意思是匹配a这个字符连续出现2到5次

^abc 意思是匹配正好以abc开头的字符串

abc$ 意思是匹配正好以abc结尾的字符串

^abc$ 意思是只匹配独立的“abc”这个字符串

[abc] 表示匹配在这个范围内的字符串(与a|b|c同理)

[^abc] 表示除了abc以外的字符串

() 小括号表示将括号内的模式作为一个整体,例如:(http|https|ftp):\/\/ 匹配的是 http://或者https://或者ftp://

模式修正↓↓↓

.*? 或者在最后(定界符之后)加上U 表示取消.*的贪婪模式

/abc/i 这里的i表示不区分大小写

/^abc/m 这里可以对”bbbb\nabcabc\ncccccc”,针对每一行进行匹配(匹配到了一次就成功)

/./s 这里的s用于修正”.”使得其可以匹配换行符”\n”

/a b c/x 这里的x是用于忽略pattern串的空白符

/abc$/D 这里的D是用于取消$对字符串最后的换行符的忽略

/ 是定界符,写在开头和末尾(相当于把pattern串括起来)