我有三个示例twiki名称:
names = [ "JohnDoe", "JaneMcAdams", "BillyBobThorton" ]
我想要拿回以下东西:*无名氏*简·索顿* BillyBob McAdams
现在我有了这个,它在盖子上把它们分开(这是件好事)。
re.findall('[A-Z][^A-Z]*', name)
如何将"Mc“作为拆分忽略?
谢谢!!
发布于 2010-11-09 02:24:52
我建议不要在这里使用正则表达式。我怀疑Mc是唯一需要匹配的名称粒子。你有没有想过Mac,O,Van,Von,De?
我建议像你说的那样打破它们,手动构建名字和姓氏。
奖金。正则表达式:
re.findall('(?:Mc|Mac|O|Van|Von|De)?[A-Z][^A-Z]*', name) 但是Van,Von,De应该用空格隔开。
注意:如果您说您只想匹配McSomething,请使用简短版本的(?:Mc)?[A-Z][^A-Z]*__。
https://stackoverflow.com/questions/4126729
复制相似问题