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')
# <re.Match object; span=(0, 2), match='ab'>

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)
# <re.Match object; span=(0, 4), match='c ab'>

2.3 \b      

单词的边界.    

\B      

非单词的边界.

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

m1=p.match('test1')

print(m1)
# None

m2=p.match('test.')

print(m2)
# <re.Match object; span=(0, 4), match='test'>

m3=p.match('test+')

print(m3)
# <re.Match object; span=(0, 4), match='test'>

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

m1=p.match('test12')

print(m1)  
# <re.Match object; span=(0, 4), match='test'>

m2=p.match('testasdf')

print(m2)
# <re.Match object; span=(0, 4), match='test'>

m3=p.match('testABCV')

print(m3)
# <re.Match object; span=(0, 4), match='test'>

m4=p.match('test.')

print(m4)
# None

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

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

print(m1)
# <re.Match object; span=(17, 22), match='phone'>

2.4   \d      

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

        \D      

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

 

#示例:

print(re.match('\d+','123456'))
# <re.Match object; span=(0, 6), match='123456'>

print(re.match('\D+',r'fa-*/.dd'))
# <re.Match object; span=(0, 8), match='fa-*/.dd'>

2.5 \s      

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

\S      

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

示例:
print(re.match('\s+','\t\n\r\f\v'))
# <re.Match object; span=(0, 5), match='\t\n\r\x0c\x0b'>

print(re.match('\S+','fasdfasdf2314234-+/*/'))
# <re.Match object; span=(0, 21), match='fasdfasdf2314234-+/*/'>

2.6   \w      

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

\W      

匹配\w的补集

示例:
print(re.match('\w+','test1_abc0'))
#<re.Match object; span=(0, 10), match='test1_abc0'>
print(re.match('\W+','+-*/\n\t\v'))
#<re.Match object; span=(0, 7), match='+-*/\n\t\x0b'>

2.7 \\      

匹配反斜杠

#示例:
print(re.match(r'aa\\+',r'aa\\'))
#<re.Match object; span=(0, 3), match='aa\\'>

 

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值