在线测试你的正则表达式,高亮显示所有匹配结果,显示匹配位置和捕获组。
关于正则表达式
正则表达式用一套紧凑语法描述文本模式,擅长查找、校验和替换。最容易踩的坑是贪婪匹配——量词默认尽可能多地匹配,需要在后面加问号改成非贪婪。另一个常见问题是忘记转义,比如点号在正则里表示任意字符,要匹配真正的点必须写成反斜杠加点。
常见问题
为什么我的正则匹配到了多余内容?
多半是贪婪匹配导致的。把星号或加号改成带问号的非贪婪写法,让引擎匹配到第一个满足条件的位置就停止。
怎么匹配换行?
默认情况下点号不匹配换行符。需要跨行匹配时,要么开启单行模式,要么用 [\s\S] 这类显式字符集。
正则会带来性能问题吗?
会。嵌套量词(例如 (a+)+)在特定输入下会引发回溯爆炸,短时间内吃满 CPU。写正则时尽量避免重叠的重复结构。