Python 用于提取以Mr.| Mrs.开头的名称的正则表达式
我试图编写正则表达式来识别以Python 用于提取以Mr.| Mrs.开头的名称的正则表达式,python,regex,findall,Python,Regex,Findall,我试图编写正则表达式来识别以 Mr.|Mrs. 比如说 Mr. A, Mrs. B. 我试过几种表达方式。这些正则表达式是在的在线工具上检查的。使用的测试字符串是: "hey where is Mr A how are u Mrs. B tt`" 提到的输出是Python的findall()函数的输出,即 regex.findall(string) 下面是它们与regex的各自输出 Mr.|Mrs. [a-zA-Z]+ o/p-[u'Mr ', u'Mrs'] 为什么A和B没有和先生
Mr.|Mrs.
比如说
Mr. A, Mrs. B.
我试过几种表达方式。这些正则表达式是在的在线工具上检查的。使用的测试字符串是:
"hey where is Mr A how are u Mrs. B tt`"
提到的输出是Python的findall()
函数的输出,即
regex.findall(string)
下面是它们与regex
的各自输出
Mr.|Mrs. [a-zA-Z]+ o/p-[u'Mr ', u'Mrs']
为什么A和B没有和先生太太一起出现
[Mr.|Mrs.]+ [a-zA-Z]+ o/p-[u's Mr', u'. B']
为什么s和先生而不是A一起来
我尝试了更多的组合,但这些组合令人困惑,所以它们就在这里。对于名称部分,我知道regex必须涵盖更多的条件,但它是从basic开始的。有一个用于解析人名的python库:
比编写自己的正则表达式要好得多。像下面这样更改正则表达式
(?:Mr\.|Mrs\.) [a-zA-Z]+
Mr\.
,Mrs\.
放入非捕获或捕获组中,以便
(或)应用于组本身
是正则表达式中的一个特殊元字符,它匹配除换行符以外的任何字符Mrs?\. [a-zA-Z]+
?
上述量词将前面的字符s
作为可选字符。[Mr.| Mrs.]+
完全错误。dot在正则表达式中有特殊含义。转义\。
更好地使用Mrs?\。
预期的输出是什么?您键入的测试字符串是否正确?您的Mr A在测试字符串中没有点。谢谢。这是很有帮助的。如果这有帮助的话,请接受。我也在学习其他语言。但谢谢你的建议。:)