正则表达式测试器 - 在线测试正则表达式
免费在线正则表达式测试工具。即时测试 JavaScript 正则表达式,查找匹配项并调试模式。
//g
什么是正则表达式?
正则表达式(Regex 或 Regexp)是一种定义搜索模式的字符序列。几乎所有的编程语言和文本编辑器都支持正则表达式。
正则表达式如何工作
正则表达式引擎逐个字符地将模式与目标字符串进行匹配。元字符具有定义匹配规则的特殊含义。
正则表达式示例
电子邮件地址
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}Contact us at support@utilforge.dev or info@example.com网址链接
https?://[^\s/$.?#].[^\s]*Visit https://utilforge.dev or http://localhost:3000 for more密码强度
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$Password123
weak
Test1234常用正则表达式
| 名称 | 模式 |
|---|---|
| 仅数字 | ^\d+$ |
| 仅字母 | ^[a-zA-Z]+$ |
| 字母数字 | ^[a-zA-Z0-9]+$ |
| 十六进制颜色 | ^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$ |
| 电话号码 | ^\+?[1-9]\d{1,14}$ |
| 日期(YYYY-MM-DD) | ^\d{4}-\d{2}-\d{2}$ |
| IPv4 地址 | \b(?:\d{1,3}\.){3}\d{1,3}\b |
| 用户名 | ^[a-zA-Z0-9_.-]{3,20}$ |
| 十进制数字 | ^-?\d+(\.\d+)?$ |
| UUID | ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ |
如何使用正则表达式测试器
- 1
在上方输入框中输入您的正则表达式模式
- 2
在下方输入区域粘贴或输入要测试的文本
- 3
点击「测试」查看所有匹配项及其位置和捕获组
- 4
使用标志切换启用全局、忽略大小写、多行或点匹配换行模式
常见问题
此工具支持什么正则表达式语法?
此工具支持 JavaScript 正则表达式语法,基于 ECMAScript 标准,支持字符类、量词、分组、前瞻断言和反向引用等功能。
测试正则表达式时数据会发送到服务器吗?
不会。所有正则表达式测试完全在您的浏览器中使用 JavaScript 内置的 RegExp 引擎完成。
正则表达式标志 g、i、m、s 有什么作用?
g(全局)查找所有匹配项。i(忽略大小写)不区分大小写。m(多行)按行匹配边界。s(dotall)使点也匹配换行符。
为什么我的正则表达式在 JavaScript 和其他语言中表现不同?
虽然大多数正则表达式功能是通用的,但每种编程语言都有自己的正则表达式语法标准。
正则表达式中的前瞻(lookahead)和后顾(lookbehind)是什么?
前瞻和后顾是零宽断言,用于检查当前位置之后或之前的内容,而不消耗字符。JavaScript 支持前瞻 (?=...) 和负前瞻 (?!...)。后顾 (?<=...) 和 (?<!...) 在现代浏览器中可用。当文本后面(或前面)是——或不是——某个模式时才匹配它,可以使用这些断言。
如何从文本中提取所有电子邮件地址或电话号码?
启用全局标志 (g),并使用诸如 \b[\w.+-]+@[\w-]+\.[\w.-]+\b 的模式来匹配电子邮件地址。使用 g 标志时,引擎会返回测试文本中的每一个匹配,而不是在第一个匹配处停止。电子邮件、电话号码、日期和 IP 地址的现成模式已列在上方的常用正则表达式部分。
发现此工具有问题?
报告问题