PHP正则表达式匹配字符方法汇总
时间:2022-10-24
1、字符
对于单个字符,通常按字面意义表示,字符指出其后的字符为特殊字符,所以不做字面意义解释,而解释为特殊字符。
例如/b/相当于字符b,通过在b前面加一个反斜杠,即为//,则该字符变成特殊字符,表示匹配一个单词的分界线。对于几个字符,通常说明是特殊的,符号指出其后的字符不是特殊的,而应按字面解释
2、字符*
表示匹配的字符必须在最前边。
例如 /^A/字符不匹配 an A中的A,但匹配 an A中的最前面的a.
3、字符$
与^字符类似,但匹配最末的字符。
例如/t$/不匹配eater字符中的t,但匹配eat字符中的t。
4、字符*
匹配*字符前面的字符的0次或n次。
例如/bo*/匹配 A ghost booooed字符中的boooo或 A bird warbled 中的b,但不匹配 A goat grunted字符中的任何字符。
5、字符 +
匹配 +字符前面的字符的 1次或n次,等价于 {1,}。
例如/a+/匹配candy字符中的a和caaaaaaaaaaaady字符中的所有 a 。
6、字符 ?
匹配 ? 字符前面的字符的0次或1次。
例如/e?le?/匹配angel字符中的el和angle字符中的le 。
7、字符 . (注意看呀,是个点)
.字符匹配除换行符外的所有单个的字符。
例如/.n/匹配nay,an apple is on the tree字符中的an 和on ,但不匹配nay。
8、字符(x)
匹配x字符并记录匹配的值。
9、字符 x|y
匹配x或者y。
10、字符{n}
这里的n 是一个正整数,指匹配前面的n个字符。
例如/a{2}/不匹配“candy”中的a,但匹配“caandy”中的所有a和“caaaandy”中前面的两个a。
11、字符{n,}
这里的n 是一个正整数,指至少匹配n个前面的字符。
例如/a{2}/不匹配“candy”中的a,但匹配“caandy”中的所有a和“caaaandy”中的所有a。
12、字符{n,m}
这里的n 和m都是正整数,指至少匹配n个最多m个前面的字符。
13、字符[xyz]
一字符列表,匹配列出中的任一字符。可以通过连字符-指出字符范围。
例如[abcd]和[a-d]是一样的,它们匹配brisket中的b和echo中的c。
14、字符[^xyz]
一字符补集,它匹配除列出的字符外的所有东西,可以通过连字符-指出字符范围。
例如[^abcd]和[^a-d]等价。它们匹配brisket中的r和echo中的h。
15、字符(空格)
匹配一个空格
16、字符
匹配一个单词的分界线,比如一个空格。
例如/nw/匹配noonday中的no,/wy/匹配“possible yesterday”中的ly。
注意:规定匹配模式必须出现在目标字符的开头或结尾的2个边界之一。