《python核心编程》学习笔记(一):正则表达式扩展表示法

来源:互联网 发布:怎么代理淘宝网店步骤 编辑:程序博客网 时间:2024/06/08 06:13

第一次接触到正则表达式的扩展表示法,云里雾里

(?:\w+\.)*    以句点作为结尾的字符串,例如“google.”、“twitter.”、“facebook.”,但是这些匹配不会保存下来供后续的使用和数据检索

(?#comment)  此处不做匹配,只是作为注释

(?=.com)  如果一个字符串后面跟着“.com”才做匹配操作,并不使用任何目标字符串

(?!.net)  如果一个字符串后面不是跟着“.net”才做匹配操作

(?<=800-)  如果字符串之前为“800-”才做匹配,假定为电话号码,同样,并不使用任何输入字符串

(?<!192\.168\.)  如果一个字符串之前不是“192.168.”才做匹配操作,用来过滤掉一组C类IP地址

(?(1)y|x)  如果一个匹配组1存在,就与y匹配,否则与x匹配

总结来看,四种断言:

正向前行匹配(?=...)  ##以某个字符串结尾

负向前行匹配(?!...) ##不以某个字符串结尾

正向后行匹配(?<=...)  ##以某个字符串开头

负向后行匹配(?<!...)  ##不以某个字符串开头

所谓的前行(lookahead)和后行(lookbehind),其实就是向前看和向后看的意思

阅读全文
0 0
原创粉丝点击