这次的正则表达式学习谈一谈选择符和子模式、可选项和重复子模式
选择符和子模式
在字符串的各个字符都不相同的请胯下,字符集是比较好用的,但是如果只想匹配特定的字符串,那么字符集就不合适了,这里就可以使用管道符号(|)。比如我们只想匹配字符串“python”和“perl”,我们可以使用正则“python|perl”。
但是有时候我们不需要对整个模式使用选择运算符,我们可以使用子模式,就是使用圆括号括起来的部分。比如前面的模式“python|perl”可以修改为“p(ython|erl)”。
可选项和重复子模式
在子模式的后面加上问号(?),它就变成了可选项,可有可无,也就是匹配出来的字符串,这个子模式里面的信息不是必须的。比如:“(www.)?python”。根据可有可无的原则,这个模式匹配的字符串就只有两个“www.python”和“python”。
重复子模式有以下几种使用:
(模式)*:允许子模式重复0次或多次
(模式)+:允许模式重复1次或多次
(模式){m,n}:允许模式重复m~n次,可以单独使用例如(python){3},(python){3},也可以如(python){3,4}也就是python可以重复3次或4次