python正则匹配空格_Python中正则匹配TAB及空格的小技巧

在正则中,使用.*可以匹配所有字符,其中.代表除\n外的任意字符,*代表0-无穷个,比如说要分别匹配某个目录下的子目录:

>>> import re

>>> match = re.match(r"/(.*)/(.*)/(.*)/", "/usr/local/bin/")

>>> match.groups()

('usr', 'local', 'bin')

>>>

比如像上面,使用(.*)就能很好的匹配,但如果字符串中里面即有TAB键,又有空格,要匹配出来,如何匹配呢?比如说像"HelloPython World!", Hello到Python之间,即有空格键,又有TAB键,而且可能有1到多个,这个直接用(.*)就连"Python "给匹配到了,从下面可以看到两个TAB,两个空格键,还有Python都匹配到了。

>>> import re

>>> match = re.match(r"Hello(.*)World!", "Hello Python World!")

>>> match.group(1)

'\t\t Python '

>>>

要想匹配到TAB和空格的混合字符,可以使用下面的两个小技巧:

1). 使用\s来匹配

>>> import re

>>> match = re.match(r"Hello(\s*)(.*)World!", "Hello Python World!"

)

>>> match.groups()

('\t\t ', 'Python ')

>>>

2). 使用[\t ]来匹配

>>> import re

>>> match = re.match(r"Hello([\t ]*)(.*)World!", "Hello Python World!"

)

>>> match.groups()

('\t\t ', 'Python ')

>>>

上面的小技巧,都能完美匹配TAB和空格键.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值