[正则表达式]匹配单个字符__自学手记
首先需要明白一个误区,一个看似很普通的纯文本字符,他也可以是正则表达式中的一部分。
就比如 ou ,是的,他看起来是一个纯粹的文本,不包含任何的意义,但他实际上却是一个正则表达式。
正则表达式可以包含纯文本(甚至可以只包含纯文本)。
当然,像这样使用正则表达式是一种浪费,但把作为刚开始学习正则表达式的一个开始确实一个不错的选择。
举个例子:
文本为:
iouuy
com
使用正则表达式:ou
匹配结果:
iouuy
com
匹配值已使用红底标注。
字母大小写问题。
绝大多数正则表达式实现支持不区分字母大小写开始匹配,但往往需要添加特殊参数。
匹配任意单个字符的问题。
在正则表达式里,特殊字符(或字符集合)用来给出要搜索的东西。
"."字符(英文句号),可以匹配任何一个单一字符。
但用这个字符仍然会存在问题。
就比如使用"a.."去匹配可以得出的结果可以是"aaa"或者是"a.a"、"a.b"、"abc"这样的格式,而我们只需要"a.b"和"a.a"这样的格式。
"."字符在正则表达式中有着特殊的含义,如果匹配结果中需要一个"."就要想办法告诉正则表达式,我需要匹配的是"."字符本身,而不是使用他的特殊含义。
这个时候就需要使用"\"符号(反斜杠)了,这个符号可以用来“转义”。
“\”是一个元字符,结合上文的例子,用来加在“.”前面,表示这个字符有特殊含义,而不是在正则表达式中这个字符本身的含义。
这个时候我们使用"a\.."匹配就能得出"a.a"、"a.b"了,而不会得出"aaa"、"abc"。
发表评论