每日学习之正则表达式(一)
正则表达式就是一组由字母和符号组成的特殊文本,可以在一段文本种找出满足格式的句子
下面我们来直接来学习该如何写正则表达式
正则表达式的书写依赖于元字符,这些字符都有他们独特的含义
1.点字符.
.字符即匹配任意单个字符,但是不匹配换行字符
若输入.yc 会匹配任意一个字符后面跟着yc的字符串

2.[]字符
[]用来表示匹配[]内字符后跟着指定字符的字符串
若输入[dDY]yc ,即匹配dyc、Dyc、Yyc

若只输入[dDY],则是匹配括号内的字符

若我们在[]内输入连字符,则可以匹配一个范围,比如[a-z]yc,则表示匹配所有以小写字母开头后跟着yc的字符串

3.否定字符^
若输入[^Y]yc,则匹配不是以Y开头后跟yc的字符串

4.*字符
字符只能跟在某个字符后面,而不能单独置于字符前,用来表示匹配所有以前的字符开头的字符串
若输入d,匹配结果如下

若输入[a-z],则表示匹配所有小写字符串

5.+字符
+号跟在字符的后面,用来匹配+号前面的字符,前面的字符至少出现一次,也可以多次,这种匹配模式也被叫做贪婪匹配
比如d+,会匹配所有的d字符,连续的d字符算一组匹配

.和+能配合使用
若输入d.+c,则会从第一个d开始,匹配到最后一个c

但若是输入d+.c,则只会匹配从一个d开始往后到遇见的第一个c

对于这两个式子输出的差异,是因为d.+c的规则是,先找到d,接着匹配任意数量的任意字符,最后以c结尾;而d+.c的规则是,先匹配一个或多个d,然后匹配任意一个字符,最后匹配c
可能你还是有点无法理解,那我们就单独把.+拎出来解释,他的匹配规则是从当前位置开始,尽可能多的匹配任意字符,直到无法匹配为止,故d.+c即从d开始,往后匹配任意字符,直到最后一个c为止;而+.的匹配规则是匹配前一个元素至少一次,然后任意匹配一个字符,故d.+c就是匹配前面所有的d,然后从最后一个d开始,往后任意匹配一个字符,最后以c字符结尾。
希望我的这番解释能够让你理解这个组合式子
那我们正则表达式的第一期就讲这五个元字符,其他的我们放到下一期来讲
光看看这些例子你可能无法真正的理解和应用。你可以到下面这个网站多加联系,实战才能锻炼能力,加油!!
正则表达式练习:https://regex101.com/
浙公网安备 33010602011771号