企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 界定符 正则表达式本身即是一个字符串,需要一组界定符区分出哪里是正则表达式的内容。//和##和{},都是界定符,在PHP语言中用//作为正则表达式的界定符。一般不建议用{}做界定符,因为{}本身也可以是正则表达式的元字符,容易混淆。 # 元字符 ~~~ | 匹配两个或者多个分支选择 [] 匹配方括号中任意的原子 [^] 匹配方括号中原子之外的任意字符,相当于[]的非 . 匹配除换行符之外的任意一个字符 \d 匹配任意一个十进制的数字,即[0-9] \D 匹配任意一个非十进制的数字,即[^0-9] \s 匹配任意一个不可见原子(空白符),即[\f\n\r\t\v] \S 匹配任意一个非不可见原子(空白符),即[^\f\n\t\v] \w 匹配任意一个数字、字母或者下划线,即[0-9a-zA-Z_] \W 匹配任意一个非数字、字母、或者下划线,即[^0-9a-zA-Z_] ~~~ # 量词(匹配次数) ~~~ {n} 前面原子恰好重复n次 {n,} 前面原子重复>=n次 {n,m} 前面原子重复大于等于n次,小于等于m次 *重复0次或者更多次 +重复1次或者更多次 ?重复0次或者1次 ~~~ # 边界控制(匹配位置) ~~~ () 匹配括号内的原子集合作为一个原子看待 \b 匹配单词的开始或者结束位置 ^ 匹配字符串的开始位置 $ 匹配字符串的结束位置 \G 匹配上一个匹配的结尾(本次匹配的开始) \A 匹配字符串开头(类似^,但是不受处理多行选项的影响) \Z 匹配字符串的结尾或者行尾(不受处理多行选项的影响) \z 匹配字符串的结尾(类似$,但是不受处理多行选项的影响) ~~~ # 修正模式 贪婪匹配,匹配结果存在歧义时取其长(PHP中为默认模式) 懒惰匹配,匹配结果存在歧义时取其短 U 修正为懒惰模式 i 忽略英文字母大小写 x 忽略空白符 s 让元字符 . 匹配任意字符包括换行符 e 如果设定了此修正符,preg_replace() 在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串 m 默认情况下, PCRE认为目标字符串是由单行字符组成的(然而实际上它可能会包含多行), "行首"元字符(^)仅匹配字符串的开始位置, 而"行末"元字符($)仅匹配字符串末尾,或者最后的换行符(除非设置了D修饰符). 这个行为和perl相同.当这个修饰符设置之后,"行首"和"行末"就会匹配目标字符串中任意换行符之前或之后,另外,还分别匹配目标字符串的最开始和最末尾位置. # 转义 正则中的元字符都要加\进行转义: `$ ( ) * + . [ ] ? \ ^ { } | `