从多行字符串中获取所有名称

时间:2017-11-02 22:31:57

标签: php regex pcre text-extraction

我试图从多行字符串加邮件正文中获取所有名称(带姓氏)但不知何故它只获取一个名称。

示例:

  

嗨Marc,Stefanie El,Paul

     

祝贺新工作!

     

我希望你今天早上感觉好些!

我正在使用的正则表达式:

/(?<=^hi )(\W*(\w+ *\w*)+)*/gmi

据我所知,第一个字幕组应该重复找到尽可能多的名字,但它不能以这种方式工作!

我用这个正则表达式犯了什么错误?

提前致谢。

1 个答案:

答案 0 :(得分:1)

不确定您为什么标记PCRE,但这就是如何做到的:

(?:\G(?!\A)|Hi\s*)
(?P<name>[A-Z][^,\n\r]+)
(?:,\h)?

请参阅a demo on regex101.com