跳到主要内容

2.1 匹配普通文本

第一章我们了解了正则表达式的使用方法以及正则表达式的前世今生。从本章我们要开始使用正则表达式的具体语法了。

先来看一个最简单的正则表达式“hefang”,没错,“hefang”是一个正则表达式。因为本身是纯文本,所以看起来不像是正则表达式,但它确实是。正则表达式可以包含纯文本(甚至只包含纯文本)。当然像这样使用正则表达式根本发挥不了正则表达式应有的能力。但把它作为我们学习正则表达式的起点还是可以的。

我们来看一个例子:

例 1

hefang
在工具中查看
大家好,我是何方(HeFang)。欢迎来到正则表达式系列教程。更多内容请访问的何方的个人小站https://iamhefang.cn

分析

这里使用的正则表达式是纯文本,它会匹配原始文本里面的“hefang”。

例 2

我们再来看一个例子,它使用了与刚才相同的原始文本和另一个正则表达式:

何方
在工具中查看
大家好,我是何方(HeFang)。欢迎来到正则表达式系列教程。更多内容请访问的何方的个人小站https://iamhefang.cn

分析

“何方”也是静态文本,它在原始文本里面找到了匹配的结果。

2.1.1 有多个匹配结果

绝大多数正则表达式引擎的默认行为是只返回第 1 个匹配结果。具体到上面那个例子,默认情况下“何方”能匹配到“我是何方”里面的“何方”,但匹配不到“何方的个人小站”里面的何方。

怎样把多个结果找出来呢?绝大多数正则表达式的实现都提交了一种能够把所有匹配结果全部找出来的机制(或者说选项)。比如说,在 Javascript 里面,可以在正则表达式的 / 后面添加 g (global)标志将来查找所有匹配的结果。

何方
在工具中查看
大家好,我是何方(HeFang)。欢迎来到正则表达式系列教程。更多内容请访问的何方的个人小站https://iamhefang.cn

2.1.2 字母的大小写问题

正则表达式是区分字母大小写的,所以在第 1 个例子中,“hefang”不会匹配“HeFang”。不过,绝大多数正则表达式实现也支持不区分字母大小写的匹配操作。比如说,Javascript 里面可以使用 i (ignore case)和执行不区分大小写的查找。

hefang
在工具中查看
大家好,我是何方(HeFang)。欢迎来到正则表达式系列教程。更多内容请访问的何方的个人小站https://iamhefang.cn
该内容基于 《正则表达式必知必会》 二度创作
转载请遵守原作者相关协议并注明本页地址
https://iamhefang.cn/tutorials/正则表达式/第二章-匹配单个字符/2.1-匹配普通文本