[正则表达式]匹配单个字符__自学手记

首先需要明白一个误区,一个看似很普通的纯文本字符,他也可以是正则表达式中的一部分。

就比如 ou ,是的,他看起来是一个纯粹的文本,不包含任何的意义,但他实际上却是一个正则表达式。

正则表达式可以包含纯文本(甚至可以只包含纯文本)。

当然,像这样使用正则表达式是一种浪费,但把作为刚开始学习正则表达式的一个开始确实一个不错的选择。


举个例子:


文本为:

iouuy

com

使用正则表达式:ou

匹配结果:

iouuy

com

匹配值已使用红底标注。


字母大小写问题。

绝大多数正则表达式实现支持不区分字母大小写开始匹配,但往往需要添加特殊参数。


匹配任意单个字符的问题。

在正则表达式里,特殊字符(或字符集合)用来给出要搜索的东西。

"."字符(英文句号),可以匹配任何一个单一字符。

但用这个字符仍然会存在问题。

就比如使用"a.."去匹配可以得出的结果可以是"aaa"或者是"a.a"、"a.b"、"abc"这样的格式,而我们只需要"a.b"和"a.a"这样的格式。

"."字符在正则表达式中有着特殊的含义,如果匹配结果中需要一个"."就要想办法告诉正则表达式,我需要匹配的是"."字符本身,而不是使用他的特殊含义。

这个时候就需要使用"\"符号(反斜杠)了,这个符号可以用来“转义”。

“\”是一个元字符,结合上文的例子,用来加在“.”前面,表示这个字符有特殊含义,而不是在正则表达式中这个字符本身的含义。


这个时候我们使用"a\.."匹配就能得出"a.a"、"a.b"了,而不会得出"aaa"、"abc"。

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。