跳到工具

正则表达式测试

实时测试正则表达式,高亮匹配结果、展示捕获组与常用标志。

1 个匹配

正则表达式是描述一组字符串的模式,用于在几乎所有编程语言和文本编辑器中搜索、校验和提取文本。

标志位会改变匹配行为:g 找全部匹配,i 忽略大小写,m 让 ^ 和 $ 匹配行边界,s 让 . 匹配换行。标志选错是'匹配不到'的常见原因。

g 标志查找全部匹配;不加则只返回第一个。i 标志让匹配忽略大小写,解析日志时通常需要它。

常见用途

常见问题

什么是灾难性回溯?
(a+)+ 这类嵌套量词会让引擎尝试指数级路径。改用更精确的字符类或原子化写法可以避免。
为什么 .* 不能跨行匹配?
默认 '.' 不包含换行符。加上 s(dotAll)标志后,它就能匹配包括换行在内的任意字符。
match 和 test 有什么区别?
test() 返回布尔值表示是否匹配;match() 返回匹配到的字符串。只需要判断有无时,test() 更快。
g 标志是做什么的?
全局标志返回所有匹配,不只是第一个。不加它你只能看到最左边的匹配。

相关工具