向后/向前引用, 零宽断言, 转义, 命名分组

前引用,向后引用

sss sss

www www

bbbbb

aaa aaa

(w+)s1

如果实在Java等编程语言中:Pattern p = Pattern.compile("(\w+)\s\1");

apple

▲n. 苹果

banana

▲n. 香蕉

pear

▲n. 梨子

( )(^(.*?)$)

替换为:

的释义是 2

可以得到:

 

 

零宽断言

6~35位由数字和字母混合而成的密码:

^(?![^a-zA-Z]+$)(?!D+$)[0-9a-zA-Z]{6,35}$

 

有关转义

([0-9.-A-Za-z\/]+)

上面的正则表达式能匹配到:

09的数字,

az的大小写字母,

点.(不需要转义),

连字符-(需要转移)

反斜杠(需要转移)

正斜杠/(需要转移)

 

命名分组

>>>ret1=re.match(r"<(?P<name1>w*)><(?P<name2>w*)>.*</(?P=name2)></(?P=name1)>", "<html><h1>www.google.cn</h1></html>")

>>> ret1.group()

'<html><h1>www.google.cn</h1></html>'

 

原文地址:https://www.cnblogs.com/ArrozZhu/p/8383576.html