首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单的python re lookahead帮助

简单的python re lookahead帮助
EN

Stack Overflow用户
提问于 2010-11-09 02:20:40
回答 1查看 299关注 0票数 1

我有三个示例twiki名称:

names = [ "JohnDoe", "JaneMcAdams", "BillyBobThorton" ]

我想要拿回以下东西:*无名氏*简·索顿* BillyBob McAdams

现在我有了这个,它在盖子上把它们分开(这是件好事)。

re.findall('[A-Z][^A-Z]*', name)

如何将"Mc“作为拆分忽略?

谢谢!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-09 02:24:52

我建议不要在这里使用正则表达式。我怀疑Mc是唯一需要匹配的名称粒子。你有没有想过Mac,O,Van,Von,De?

我建议像你说的那样打破它们,手动构建名字和姓氏。

奖金。正则表达式:

代码语言:javascript
复制
re.findall('(?:Mc|Mac|O|Van|Von|De)?[A-Z][^A-Z]*', name) 

但是Van,Von,De应该用空格隔开。

注意:如果您说您只想匹配McSomething,请使用简短版本的(?:Mc)?[A-Z][^A-Z]*__。

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

https://stackoverflow.com/questions/4126729

复制
相关文章

相似问题

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