“正则表达式”实践日志
主要采用问和答的形式进行说明,旨在表达一些特殊零基础着手正则表达式会遇到的一些问题,以此记录。
我们知道,正则表达式是用一系列规则来匹配字符串的。在茫茫字符海中,如何才能找到你想要的“它”,显然是有一定技术含量的。
有人会问,找到一个字符串有什么难的?你看,找到“女神”两个字不是分分钟?
是的,找到这确实是,不可能很多事情都是这样的吧。以下展开。
1.精确匹配
正如上面所说,想找什么直接输入就可以了,何必大费周章。
e.g: 女神
如果你要找的是一个名词,而不是一个句子中的一部分,那该如何处理?
比如:“千百度”与“百度”显然不是一个东西,但是如果你输入“百度”,两个都会出来。orz,太弱智了吧,我明明只要百度这个单词,为什么找“千百度”中的,想想也是醉了。那么,我们就需要用到一些技巧在里面,在后面会陆续提到。当然,正则表达式也不是什么都能处理,比如本例子。
2.表示数字
\d ------> 数字
Q:我要找一个数字,该怎么办?
A:直接输入啊,傻吧。
Q:我要找的不是固定的数字,是0-9中的任意一个。有没有什么方法?
A:你的意思是,要有一个东西,来代替表达数字?这样你就可以一劳永逸了?这里有一个“\d”你拿去吧。
Q:这就可以满足要求了?我该如何记住这个,你怎么知道\d代表的是数字,而不是其他?为什么是\d而不是\s上面的?
A:你可以理解为\d代表着digit。这样显然容易记住。
Q:是不是还有其他的表示模式呢?迫切的想知道这些。
A:那好吧,直接告诉你了。
Q:以下记好了。
1.\d --> 数字 --> 可以理解为digit
2.\w --> 字符 --> 可以理解为word --> 可匹配字母,数字,下划线(等等,这个地方好像有点熟悉,是不是很多东西都是由这几个东西组成的?)
3.\s --> 空白字符 --> 可以理解为space --> 可匹配任意空白符。什么?空白符不知道是什么?
4.. --> 点 --> 上面没看到?前面是一个点。省略号知道吧。-->匹配除了换行符以外的所有的字符。
那换行符号有谁来匹配?