正则表达式
正则表达式(或称“regex”)是一种搜索模式,用于匹配 字符串 中的一个或多个 字符。它可以匹配特定字符、通配符和字符范围。正则表达式最初由 Unix 工具使用,例如 vi 和 grep。不过,如今多个平台上的许多代码编辑 应用程序 和 文字处理器 都支持正则表达式。大多数主要的 编程语言 也可以使用正则表达式。
正则表达式可以简单到只是一个基本字符串,例如“app”。正则表达式“app”可以匹配包含“apps”、“applications”和“inapplicable”等单词的字符串。正则表达式还可以包含定位字符(“^”和“$”),分别用于指定一行的开头和结尾。因此,正则表达式“^apps”可以匹配字符串“apps are great,”,但不能匹配字符串“I like apps.”。
正则表达式可以包含连字符,用于匹配字符范围,例如所有小写字母。例如,正则表达式“[a-z]”可以匹配“apps”,但不能匹配字符串“Apps”或“123”。正则表达式“[A-Za-z]”可以匹配“Apps”,而“[0-9]”可以匹配“123”。句点是正则表达式中的标准 通配符,可用于匹配任意字符(行尾字符除外)。句点后跟星号(.*)可以匹配零个或多个实例,而句点后跟加号(.+)可以匹配一个或多个实例。
那么,如果需要匹配包含连字符、星号、加号或定位字符的字符串,该怎么办?可以在正则表达式模式中使用反斜杠(“\”)对这些字符进行“转义”,从而将它们包含在模式中。例如,要搜索“$0.99”,正则表达式应为“\$0\.99”。反斜杠也用于搜索不可打印字符。例如,“\r”匹配回车符,“\n”匹配换行符,“\t”匹配制表符。
创建基本正则表达式并不费力,但编写高级正则表达式并不容易。即使是最优秀的程序员,也很少能第一次就正确写出复杂的正则表达式。不过,正确使用时,正则表达式是搜索、查找和替换特定文本的强大工具。
测试你的知识