正则表达式

正则表达式 知识量:10 - 22 - 55

2.2 匹配不可预知的字符><

匹配任意字符- 2.2.1 -

匹配纯文本时,目标是可知的,例如要匹配“hello”,结果中肯定就是“hello”,只是位置事先不知道。如果要匹配的目标字符有一部分知道,另一部分不知道,就可以使用“.”字符。“.”字符用于匹配任何一个单个字符(不包括换行符),相当于一个占位符。

文本:

The basketball players of the two countries got together and compared notes after
the match.

正则表达式:

.ot

结果:

MatchPositionLength
got443
not703

匹配结果中“not”是“notes”中的一部分,但是它仍然是匹配的。人们常用模式来表示实际的正则表达式,只要符合模式就可以匹配成功,尽管它可能只是某个单词的一部分。

匹配特殊字符- 2.2.2 -

“.”字符很有用,但是如果在文本中本来就含有.(句号),而匹配的目标正好含有这个句号该怎么办呢?这时可以使用“\”字符来进行转义。“\”是一个元字符,“\.”表示按照“.”的字面意思来处理。

文本:

football.doc
basketball.xls
tennis.doc
swimming.xls
volleyball.doc

正则表达式:

\.doc

结果:

MatchPositionLength
.doc84
.doc344
.doc624
“.”通过转义被正确的理解为“一个点”,而不是其特殊含义。