我在一个字符串中有一组名字,每个名字+姓氏都位于'>;'和'>;'内。因此,字符串可以是,例如'uselessdataetc<Michael Bloomberg>blahblah<William Handler>blahblah'
,我希望它返回'Michael Bloomberg'
,'William Handler'
这是我使用的正则表达式:
nameregex = '<([a-z]+|\s)*>'
我在用忽略案例当使用正则表达式时。它当前只返回姓氏。所以它返回的是“彭博社”,“处理程序”。在
有人知道为什么会这样吗?在
你可以试试
搜索:
相反,找到任何不是结尾字符的内容。在
演示:
^{pr2}$正则表达式在每组字母或空白处使用一个捕获组,并且只返回
<...>
尖括号内的最后一个匹配,因为即使一个捕获组匹配多个模式,它也不会成倍增加。Michael Bloomberg
是3个匹配项;(Michael)( )(Bloomberg)
,对于捕获组,只返回最后一个匹配项。在您可以使用以下方法使您的版本正常工作:
或者在character类中包含空格并删除外部通配符:
简单回答:
在您的情况下:
^{pr2}$或者更简单:
相关问题 更多 >
编程相关推荐