检查并测试正则表达式

在线测试正则表达式。分析匹配、修正错误并创建高效的数据挖掘模式。

快速参考

正则表达式基础

^字符串的开头
$字符串的结尾
.匹配除换行符 (\n) 之外的任何字符的通配符
|匹配两侧的特定字符或字符组
\用于转义特殊字符
a字符\"a\"
ab字符串\"ab\"

量词

*用于匹配前面字符的 0 次或更多次
?匹配前面字符的 0 次或 1 次
+匹配前面字符的 1 次或更多次
{5}精确匹配 5 次
{5,}匹配前面字符或组的 5 次或更多次出现
{5,10}匹配 5 到 10 次出现

字符类

\s匹配一个空白字符
\S匹配一个非空白字符
\w匹配一个单词字符(字母数字 + 下划线)
\W匹配一个非单词字符
\d匹配一个数字
\D匹配一个非数字
[\b]一个退格字符
\c匹配一个控制字符

特殊字符

\n匹配一个换行符
\t匹配一个制表符
\r匹配一个回车符
\ZZZ匹配八进制字符 ZZZ(例如,空格的 \040)
\xZZ匹配十六进制字符 ZZ(例如,空格的 \x20)
\0一个空字符
\v一个垂直制表符

分组

(xyz)捕获字符组
(?:xyz)非捕获字符组
[xyz]匹配集合 x, y 或 z 中的任意一个字符
[^xyz]匹配集合 x, y 或 z 中 *不* 存在的任何字符
[a-q]匹配 'a' 到 'q' 之间的任何字符
[0-7]匹配 '0' 到 '7' 之间的任何数字

字符串替换

$`插入匹配项之前的字符串部分
$'插入匹配项之后的字符串部分
$+插入最后匹配的捕获组
$&插入整个匹配的字符串
$n插入第 n 个捕获组(例如,$1, $2)

断言(零宽断言和边界)

(?=xyz)正向先行断言(断言后面是 xyz)
(?!xyz)负向先行断言(断言后面不是 xyz)
(?<=xyz)正向后行断言(断言前面是 xyz)
(?<!xyz)负向后行断言(断言前面不是 xyz)
\b单词边界(单词字符与非单词字符之间的位置)
\B非单词边界
(?#comment)注释(被正则表达式引擎忽略)

检查和测试正则表达式

alien

请注意,这个工具处理的正则表达式按照ECMAScript标准(JavaScript RegExp)进行处理。这意味着,模式的行为与它们在浏览器或JavaScript代码中的行为相同。一些构造,例如字符转义(/和/),可能会表现相同,即使它们看起来不同。如果您习惯于在其他语言中使用正则表达式(例如Python、PHP、.NET或POSIX),请注意,它们在语法和匹配逻辑上可能有所不同。

通过该工具可以测试正则表达式 (RegEx) 并验证其性能。RegEx 广泛应用于编程、数据处理和SEO分析。

它可用于搜索、替换和分析文本模式,使处理大量数据变得更加容易。

常见问题 (FAQ)

正则表达式 (regex) 是强大的模式匹配工具,用于查找、验证和操作文本。它们对于数据验证、搜索操作和文本处理任务至关重要。

我们的正则表达式测试器允许您输入模式并测试字符串,以实时查看匹配项。您可以尝试不同的模式,并查看文本的哪些部分与表达式匹配。

常见模式包括电子邮件验证、电话号码、日期、URL 和邮政编码。学习基本的元字符,如 .、*、+、?、^、$ 和字符类,如 \d、\w、\s。

在可用时使用详细模式,添加注释,将复杂模式分解为更小的部分,并使用有意义的变量名。考虑使用在线正则表达式文档和测试工具。

带有回溯的复杂模式在大型文本上可能很慢。通过具体化、避免嵌套量词以及尽可能使用锚点(^ 和 $)来优化。使用实际数据大小测试性能。

实用工具

o1

测试正则表达式

允许实时验证 RegExp 模式,从而简化复杂搜索模式的开发和调试。

o1

支持不同的标记和修改器

允许区分大小写敏感性、全局搜索、多线性模式和编程语言中使用的其他设置。

o1

生成数据解析模板

可快速创建表达式为自动处理大型文本数组、日志和 HTML 代码。