正则表达式

表示法/符号 描述 正则表达式示例
literal 匹配文本字符串的字面值literal foo
re1Ire2 匹配正则表达式re1或者re2 fooIbar
. 匹配任何字符(除了\n) b.b
^ 匹配字符串起始部分 ^Dear
$ 匹配字符串终止部分 /bin/*sh$
* 匹配0次或多次前面出现的正则表达式 [A-Za-z0-9]*
+ 匹配1次或多次前面出现的正则表达式 [a-z]+.com
? 匹配0次或1次前面出现的正则表达式 goo?
{N} 匹配N次前面出现的正则表达式 [0-9]{3}
{M,N} 匹配M~N次前面出现的正则表达式 [0-9]{5,9}
[...] 匹配来自字符集的任意单一字符 [aeiou]
[..x-y..] 匹配x~y范围中的任意单一字符 [0-9],[A-Za-z]
[ ^... ] 不匹配此字符集中出现的任何一个字符,包括某一范围的字符(如果在此字符集中出现) [aeiou],[A-Za-z0-9]
(*I+I?I{})? 用于匹配上面频繁出现/重复出现符号的非贪婪版本(*,+,?,{}) .*?[a-z]
(...) 匹配封闭的正则表达式,然后另存为子组 ([0-9]{3})?,f(ooIu)bar
表示法/特殊字符 描述 正则表达式示例
\d 匹配任何十进制数字,与[0-9]一致(\D与\d相反,不匹配任何非数值型的数字) data\d+.txt
\w 匹配任何字母数字字符,与[A-Za-z0-9]相同(\W与之相反) [A-Za-z_]\w+
\s 匹配任何空格字符,与[\n\t\r\v\f]相同(\S与之相反) of\sthe
\b 匹配任何单词边界(\B与之相反) \bThe\b
\N 匹配已保存的子组N(参见上面的(...)) price:\16
\c 逐字匹配任何特殊字符c(即,仅按照字面意义匹配,不匹配特殊含义) .,\,*
\A(\Z) 匹配字符串的起始(结束)(另见上面的^和$) \ADear
扩展表示法
(?iLmsux) 在正则表达式中嵌入一个或者多个特殊"标记"参数(或者通过函数/方法) (?x),(? im)
(?:...) 表示一个匹配不用保存的分组 (?:\w+.)*
(?P<name>...) 向一个仅由name标识而不是数字ID标识的正则分组匹配 (?P<data>)
(?P=name) 在同一个字符串中匹配由(?P<name>分组的之前文本) (?p=data)
(?#...) 表示注释,所有内容都会被忽略 (?#comment)
(?=...) 匹配条件是如果...出现在之后的位置,而不使用输入字符串;称做正向前视断言 (?=.com)
?!... 匹配条件是如果...不出现在之后的位置,而不是用输入字符串;称做负向前视断言 (?!.net)
(?<=...) 匹配条件是如果...出现在之前的位置,而不是用输入字符串;称做正向后视断言 (?<800-)
(?<!...) 匹配条件是如果...不出现在之前的位置,而不使用输入字符串;称做负向后视断言 (?<!192.168.)
(?(id/name)YIN) 如果分组所提供的id或者name(名称)存在,就返回正则表达式的条件匹配Y,如果不存在,就返回N;IN是可选项 (?(1)y x)

注:其中的I是|

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容