正则表达式
正则表达式是在计算机科学中,用来描述匹配某个句法规则的字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索或者替换符合某个模式的文本内容。
正则表达式的英文为 Regular Expression,在编程语言中通常简写为regex、regexp 或 RE。
简单来讲,正则表达式就是一个用某种模式去匹配字符串的公式。各种文本编辑软件、编程语言、脚本工具都支持正则表达式。
1. 正则表达式的组成
正则表达式是由普通字符(例如字符 a 到 z, 数字 0 到 9)以及特殊字符(称为"元字符")组成的文字模式,用来描述在搜索文本时要匹配的一个或多个字符。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
2. 正则表达式的范例
正则表达式的表现形式是一个符合特定语法的字符串,例如:
- 匹配数字的正则表达式:^[0-9]*$
- 匹配大写字母组成的字符串:^[A-Z]+$
- 匹配邮箱地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
3. 使用正则表达式的优势
典型的搜索和替换操作要求提供与预期的搜索结果匹配的确切文本。虽然这种技术对于对静态文本执行简单搜索和替换任务可能已经足够了,但它缺乏灵活性,若采用这种方法搜索动态文本,会变得非常困难。
通过使用正则表达式,可以:
- 测试字符串内的模式。
- 可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。
- 基于模式匹配从字符串中提取子字符串。
- 可以查找文档内或输入域内特定的文本。
例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。 替换文本。
例如,可以需要搜索整个网站,删除过时的材料,以及替换某些 HTML 格式标记。
4. 正则表达式的应用领域
目前,正则表达式已经在很多软件中得到广泛的应用,包括 *nix(Linux, Unix等)、HP 等操作系统,PHP、C#、Java 等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。
1)Java 正则表达式
在我们的 Java 教程中,Java 正则表达式 专门介绍了有关 Java 正则表达式的知识。
5. 正则表达式的资源
- RegExr -- 正则表达式在线测试工具。
- Regulex -- 正则表达式在线测试工具。
正则表达式就是用某种模式去匹配一类字符串的一个公式,在各种编程语言和文本编辑器中广泛使用。常用正则表达式包括:数字校验正则表达式、字符校验正则表达式、特殊需求正则表达式。所谓特殊需求的正则表达式,比如:Email地址、手机号码、身份证号等。