匹配纯文本
2.1 匹配纯文本
Ben是一个正则表达式。因为本身是纯文本,所以看起来可能不像是一个正则表达式,但它的确是。正则表达式可以包含纯文本(甚至可以只包含纯文本)。当然。像这样使用正则表达式是一种浪费,但把它作为
我们学习正则表达式的起点还是很不错的。
我们来看一个例子:
文本
Hello,my name is Ben.pLease visit
my website at http://www.forta.com/.
正则表达式
Ben
结果
Hello,my name is (Ben).Please visit
my website at http://www.forta.com/.
分析
这里使用的正则表达式是纯文本,它将匹配原始文本里的Ben。
我们再来看一个例子,它使用了与刚才相同的原始文本和另外一个正则表达式:
文本
Hello,my name is Ben.Please visit
my website at http://www.forta.com/.
正则表达式
my
结果
Hello,(my) name is Ben.Please visit
(my) website at http://www.forta.com/.
分析
my也是静态文本,它在原始文本里找到了两个匹配结果。
2.1.1 有多个匹配结果
绝大多数正则表达式引擎的默认行为是只返回第一个匹配结果。具体到上面那个例子,原始文本里的第一个my通常是一个,但第二个往往不是。
怎样才能把两个或更多个匹配结果都找出来呢?绝大多数正则表达式的实现都提供了一种能够把所有的匹配结果全部找出来的机制(通常返回为一个数组或是其他的专用格式)。比如说,在JavaScript里,可选的g(意思
是“global”,全局)标志将返回一个包含所有匹配的结果数组。
2.1.2 字母的大小写问题
正则表达式是区分字母大小写的,所以Ben不匹配ben。不过,绝大多数的正则表达式实现也支持不区分字母大小写的匹配操作。比如说,JavaScript用户可以用i标志来强制执行一次不区分字母大小写的搜索。