示例 |
正则表达式示例 |
数字范围 |
浮点数 |
电子邮件地址 |
IP 地址 |
有效日期 |
数字日期到文本 |
信用卡号 |
匹配完整行 |
删除重复行 |
编程 |
两个相近的单词 |
陷阱 |
灾难性回溯 |
过多重复 |
拒绝服务 |
使所有内容可选 |
重复捕获组 |
混合 Unicode 和 8 位 |
此网站上的更多内容 |
简介 |
正则表达式快速入门 |
正则表达式教程 |
替换字符串教程 |
应用程序和语言 |
正则表达式示例 |
正则表达式参考 |
替换字符串参考 |
书籍评论 |
可打印 PDF |
关于此网站 |
RSS 提要和博客 |
在下面,您将找到许多示例模式,您可以使用这些模式并根据自己的目的进行调整。制作每个正则表达式所使用的关键技术均已说明,并附有指向 教程 中相应页面的链接,其中对这些概念和技术进行了详细说明。
如果您是正则表达式的初学者,您可以查看这些示例以了解其可能性。正则表达式非常强大。学习它们确实需要一些时间。但是,当您使用正则表达式在 EditPad Pro 或 PowerGREP 中自动执行搜索或编辑任务,或在 各种语言 中编写脚本或应用程序时,您会很快收回这段时间。
RegexBuddy 提供了快速掌握正则表达式的最快方式。RegexBuddy 将分析任何正则表达式,并以清晰易懂的详细大纲形式呈现给您。该大纲链接到 RegexBuddy 的正则表达式教程(您可以在本网站上找到相同的教程),您始终可以通过单击获取深入信息。
哦,而且您绝对不需要成为一名程序员才能利用正则表达式!
<TAG\b[^>]*>(.*?)</TAG> 匹配特定 HTML 标记的成对开闭标记。标记之间的任何内容都将被捕获到第一个 反向引用 中。正则表达式中的问号使星号 惰性,以确保它在第一个闭合标记之前停止,而不是像贪婪星号那样在最后一个闭合标记之前停止。此正则表达式不会正确匹配嵌套在自身内部的标记,例如在 <TAG>one<TAG>two</TAG>one</TAG> 中。
<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)</\1> 将匹配任何 HTML 标记的成对开闭标记。务必关闭大小写敏感性。此解决方案的关键是使用正则表达式中的 反向引用 \1。标记之间的任何内容都将被捕获到第二个反向引用中。此解决方案也不会匹配嵌套在自身内部的标记。
您可以通过执行正则搜索和替换,轻松地从字符串或文本文件中的行首和行尾修剪不必要的空白。搜索 ^[ \t]+ 并替换为空,以删除前导空白(空格和制表符)。搜索 [ \t]+$ 以修剪尾随空白。通过将正则表达式组合成 ^[ \t]+|[ \t]+$ 来同时执行这两项操作。您可以将 [ \t](它匹配空格或制表符)扩展为 [ \t\r\n],以匹配字符类,如果您还想删除换行符。或者,您可以使用简写 \s。
数字范围。由于正则表达式使用文本而不是数字,因此匹配特定的数字范围需要格外小心。
匹配浮点数。还说明了使正则表达式中的所有内容都可选项的常见错误。
匹配电子邮件地址。关于匹配电子邮件地址的正确正则表达式有很多争议。这是一个完美的示例,说明您需要确切地知道您要匹配的内容(以及不匹配的内容),并且正则表达式复杂度和准确性之间始终存在权衡。
匹配有效日期。一个正则表达式可以匹配 31-12-1999,但不能匹配 31-13-1999。
查找或验证信用卡号。验证在您的订单表单中输入的信用卡号。在文档中查找信用卡号以进行安全审核。
匹配完整行。展示如何匹配文本文件中的完整行,而不是仅匹配满足特定要求的行部分。还展示了如何匹配特定正则表达式不匹配的行。
删除重复行或项目。说明如何巧妙地使用捕获括号或反向引用。
用于处理源代码的正则表达式示例。如何匹配常见的编程语言语法,例如注释、字符串、数字等。
两个单词彼此相邻。展示如何使用正则表达式模拟某些工具具有的“相邻”运算符。
灾难性回溯。如果您的正则表达式似乎永远无法完成,或者只是使您的应用程序崩溃,那么它很可能已经感染了灾难性回溯。解决方法通常是更具体地说明您想要匹配的内容,这样引擎必须尝试的匹配次数就不会呈指数级上升。
使所有内容都可选。如果正则表达式中的所有部分都是可选的,那么它将匹配任意位置的零长度字符串。您的正则表达式需要表达这样一个事实:根据存在哪些部分,不同的部分是可选的。
重复捕获组与捕获重复组。重复捕获组只会捕获组的最后一次迭代。如果您想捕获所有迭代,请捕获重复组。
混合 Unicode 和 8 位字符代码。将 8 位字符代码(如 \x80)与 Unicode 引擎和主题字符串一起使用可能会产生意外的结果。
| 快速入门 | 教程 | 工具和语言 | 示例 | 参考 | 书籍评论 |
| 正则表达式示例 | 数字范围 | 浮点数 | 电子邮件地址 | IP 地址 | 有效日期 | 数字日期转换为文本 | 信用卡号 | 匹配完整行 | 删除重复行 | 编程 | 两个相邻单词 |
| 灾难性回溯 | 重复次数过多 | 拒绝服务 | 使所有内容都可选 | 重复捕获组 | 混合 Unicode 和 8 位 |
页面 URL:https://regexper.cn/examples.html
页面上次更新时间:2019 年 12 月 12 日
网站上次更新时间:2024 年 3 月 15 日
版权所有 © 2003-2024 Jan Goyvaerts。保留所有权利。