html tool

2016年11月15日星期二

re 中环视的使用


add:https://my.oschina.net/o0Kira0o/blog/138516

括号的相关内容


普通型括号 

(...)    普通捕获型括号,可以被\number引用。

扩展型括号

(?aiLmsx)
a        re.A
i        re.I    #忽略大小写
L        re.L
m        re.M
s        re.S    #点号匹配包括换行符
x        re.X    #可以多行写表达式
如:
re_lx = re.compile(r'(?iS)\d+$')
re_lx = re.compile(r'\d+',re.I|re.S)    #这两个编译表达式等价
(?:......)      #非捕获型括号,此括号不记录捕获内容,可节省空间    
(?P...)   #此捕获型括号可以使用name来调用,而不必依赖数字。使用(?P=name)调用。
(?#...)         #注释型括号,此括号完全被忽略
(?=...)   #positive lookahead assertion    如果后面是括号中的,则匹配成功
(?!...)   #negative lookahead assertion    如果后面不是括号中的,则匹配成功
(?<=...)  #positive lookbehind assertion   如果前面是括号中的,则匹配成功
(?<!...#negative lookbehind assertion   如果前面不是括号中的,则匹配成功 
 #以上四种类型的断,本身均不匹配内容,只是告知正则引擎是否开始匹配或者停止。
 #另外在后两种后项断言中,必须为定长断言
(?(id/name)yes-pattern|no-pattern)
#如有由id或者name指定的组存在的话,将会匹配yes-pattern,否则将会匹配no-pattern,通常情况下no-pattern可以省略。

没有评论:

发表评论