文字
怎么测试正则表达式
你在为代码、搜索框或表格写一个模式,想在用之前先看它匹配到什么。输入模式、粘贴样本文本,读出每一处匹配。\b\w+@\w+\.\w+\b 能找出简单的邮箱地址。什么都不离开这个标签页。
准备几行真实文本再打开正则测试,其中要有不该匹配的行。它用的是 JavaScript 风格,和浏览器、Node.js 一样。不上传。
打开正则测试目录
先懂基本符号
\d 是数字,\w 是字母、数字或下划线,\s 是空白,. 是任意字符。+ 表示一个或多个,* 表示零个或多个,? 表示可有可无。( ) 捕获一组;\b 是单词边界。
\d 数字,\w 单词字符,\s 空白,+ 一个或多个,( ) 捕获组,\b 单词边界。 打开 cv.cm 的正则测试
模式框、标志和测试文本都准备好了。不上传。
打开正则测试输入模式并粘贴文本
在「正则表达式」里输入模式,不要加斜杠,比如 \d{4}-\d{2}-\d{2} 匹配 2026-10-29 这样的日期。在「测试文本」里粘贴该匹配和不该匹配的行。
设置标志
g 找出所有匹配而不只第一个;i 忽略大小写;m 让 ^ 和 $ 按行生效;s 让 . 也能匹配换行;u 开启完整 Unicode。匹配数那一行会显示当前的标志。
标志:g 全部匹配,i 忽略大小写,m 按行,s 点号匹配换行,u Unicode。 看匹配和分组
每处匹配都列出文本和捕获组。(\d{4})-(\d{2}) 匹配 2026-10,得到第 1 组 = 2026、第 2 组 = 10。模式匹配太多时,通常要加 \b 或缩小字符类。
预览替换
在「替换(可选)」里填替换内容:$& 是整段匹配,$1 是第一组。[$&] 会给每处匹配套上方括号。「复制匹配」把所有匹配放到剪贴板。
常见问题
能免费在线测试正则吗?
可以。cv.cm 在这个标签页里运行。不上传。
用的是哪种正则?
JavaScript,和浏览器、Node.js 一样。多数简单模式在 Python 和 Java 里也一样。
为什么只有一处匹配?
打开 g 标志才会找出所有匹配。
替换里怎么用捕获组?
$1 是第一组,$2 是第二组,$& 是整段匹配。
要输入斜杠吗?
不用。只输入模式本身;标志用复选框。