
正则表达式中\b的理解
时间:2018-05-15 作者:zhankehua 评论:0 点击:4176 次
在python编写日志分析程序时,会用到正则表达式,一直对\b不是很了解。今天有时间做了个测试,对\b有了近一步了解。
现记录下了。
先看一下正则表达式的语法
语法中说\b表示匹配\w和\W之间,这个如何理解呢?
\w表示的是[a-zA-Z0-9_],而\W表示的是非单词字符[^\w]。
那到底\b表示的是什么意思呢?那就测试一下吧。
#regex_b.py # -*- coding:utf-8 -*- #测试\b的用法 import re thestr = u"This is a test string about -test?<teacher>单词边界,how to use [txt]" pattern = r'\bt\w*\b' regex = re.compile(pattern) # strings = regex.split(thestr) ls = regex.findall(thestr) if ls: for s in ls: print s
运行输出:
test
test
teacher
to
txt
通过测试,我们可以知道\b就是符号(这里的符合包括空格、?、*、(等。)与单词之间的分隔。
但这里有一个疑问,一直未解决,那就是如果我使用re.split(r'\b',str)为什么就分不开呢(str='this is a test',按其原理,应该可以分开成每个单词)?以后再研究。
本文标签:
转载请注明出处: http://www.itsec365.cn/?id=51
已有 4176 位网友参与,快来吐槽:
发表评论