首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(‘a*\b’,'',' bcd ') -> bcd WAT?

(‘a*\b’,'',' bcd ') -> bcd WAT?
EN

Stack Overflow用户
提问于 2014-05-20 14:50:35
回答 1查看 102关注 0票数 1

今天我偶然发现了一种奇怪的行为。我无法解释,虽然我认为我对雷克斯很有经验。

代码语言:javascript
复制
print re.sub('a*|b',  '', 'bcd')

bcd

没有球的地方

代码语言:javascript
复制
print re.sub('a|b',  '', 'bcd')

光盘

这是意料之中的。

我以为失败的选择不会阻止其他人的尝试!

EN

回答 1

Stack Overflow用户

发布于 2014-05-20 14:52:35

a* 总是匹配( a字符的零到无限数)。

因此,您最终会在匹配的位置替换--用''替换bcd

所以整个字符串返回。

来自documentation

Re.sub(模式,回购,字符串,count=0,flags=0) 返回通过替换repl替换字符串中最左边的不重叠模式出现的字符串所获得的字符串。

因此,''字符串的开始是零as的出现,并被repl替换。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23769359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档