|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 sunrise085 于 2020-5-23 23:48 编辑
正则表达式中,'\b'匹配单词边界,'\B'匹配非单词边界
我今天写一个程序的时候发现,对于字母匹配的时候这两个是正常的,但是对于其他字符匹配的时候好像是相反的。
不知道是哪里理解的不对。
请大神帮助讲解一下。
下面是例子
- import re
- string = 'asdf th...rer theree geermon... asdf...'
- string = re.sub(r'e{2}\B','',string) #删除非单词末尾的两个e
- print(string)
- string = re.sub(r'(\.){3}\B','',string) #删除非单词末尾的三个点
- print(string)
- string = 'asdf th...rer theree geermon... asdf...'
- string = re.sub(r'e{2}\b','',string) #删除单词末尾的两个e
- print(string)
- string = re.sub(r'(\.){3}\b','',string) #删除单词末尾的三个点
- print(string)
复制代码
运行结果:
- asdf th...rer theree grmon... asdf...
- asdf th...rer theree grmon asdf
- asdf th...rer ther geermon... asdf...
- asdf threr ther geermon... asdf...
复制代码
看上去,对于字母和非字母的效果好像刚好相反。
求解惑 |
|