从多行字符串中获取所有名称
Fetching all names from multiline string
我试图从多行字符串和消息正文中获取所有姓名(包括姓氏),但不知何故它只获取了一个姓名。
示例:
Hi Marc, Stefanie El, Paul
Congrats on the new job!
I hope you’re feeling better this morning!
我使用的正则表达式:
/(?<=^hi )(\W*(\w+ *\w*)+)*/gmi
据我了解,第一个字幕组应该反复查找尽可能多的名字,但这样做行不通!
我这个正则表达式犯了什么错误?
提前致谢。
不确定为什么要标记 PCRE
,但可以这样做:
(?:\G(?!\A)|Hi\s*)
(?P<name>[A-Z][^,\n\r]+)
(?:,\h)?
我试图从多行字符串和消息正文中获取所有姓名(包括姓氏),但不知何故它只获取了一个姓名。
示例:
Hi Marc, Stefanie El, Paul
Congrats on the new job!
I hope you’re feeling better this morning!
我使用的正则表达式:
/(?<=^hi )(\W*(\w+ *\w*)+)*/gmi
据我了解,第一个字幕组应该反复查找尽可能多的名字,但这样做行不通!
我这个正则表达式犯了什么错误?
提前致谢。
不确定为什么要标记 PCRE
,但可以这样做:
(?:\G(?!\A)|Hi\s*)
(?P<name>[A-Z][^,\n\r]+)
(?:,\h)?