python正则表达式详解(二):特殊字符序列

内容提要:

说明:仅供学习交流使用

二、python正则表达式中的特殊字符序列

\number   \A  \Z   \b    \B    \d  \D   \s  \S  \w   \W      \\

2.1\number 

以相同的序号代表的组所匹配的内容为 正则表达式,匹配该处的内容。注意:在使用的过程中,不要让python进行转义,即用原字符串的形式

#示例:
p=re.compile(r'(\d) (\w)(\w) \1 \2\3')

m=p.match('1 aA 1 aA')

print(m)

2.2  \A      

只在字符串的开头匹配.
  

    \Z     

  只匹配字符串的末尾.

# 示例:
p=re.compile(r'\Aab')

m1=p.match('abc')
# 

m2=p.match('cab')
# None

print(m1)
print(m2)

p=re.compile(r'.* ab\Z')

m1=p.match('c ab b')
m2=p.match('c ab')

print(m1)
# None

print(m2)
# 

2.3 \b      

单词的边界.    

\B      

非单词的边界.

# 示例:
p=re.compile(r'\btest\b')

m1=p.match('test1')

print(m1)
# None

m2=p.match('test.')

print(m2)
# 

m3=p.match('test+')

print(m3)
# 

p=re.compile(r'test\B')

m1=p.match('test12')

print(m1)  
# 

m2=p.match('testasdf')

print(m2)
# 

m3=p.match('testABCV')

print(m3)
# 

m4=p.match('test.')

print(m4)
# None

p=re.compile(r"\Bphone")

m1=p.search('phone phoneplus iphone telephone telegram')

print(m1)
# 

2.4   \d      

匹配十进制的数字,等价于[0-9]

        \D      

匹配非十进制字符,等价于[^\d].

 

#示例:

print(re.match('\d+','123456'))
# 

print(re.match('\D+',r'fa-*/.dd'))
# 

2.5 \s      

匹配任何空白字符,等价于[ \t\n\r\f\v]

\S      

匹配任何非空白字符,等价于[^\s].

示例:
print(re.match('\s+','\t\n\r\f\v'))
# 

print(re.match('\S+','fasdfasdf2314234-+/*/'))
# 

2.6   \w      

匹配任何文字数字式字符,等价于[a-zA-Z0-9_]

\W      

匹配\w的补集

示例:
print(re.match('\w+','test1_abc0'))
#
print(re.match('\W+','+-*/\n\t\v'))
#

2.7 \\      

匹配反斜杠

#示例:
print(re.match(r'aa\\+',r'aa\\'))
#

 

你可能感兴趣的:(学习笔记)