我正在解析具有奇怪复合形式的名称字符串。 当前给我带来问题的阵型是这些名字:
Edward St. Loe Livermore
Henry St. George Tucker III
Henry St. John
此模式
(.*)(St\.\s\w+)\s(.*)
解析前两个名称并完全忽略第三个。
此模式
(.*)(St\.\s\w+)|(St\.\s\w+\s(.*))$
也返回第三个名字,但省略前两个的姓氏。
我正在使用 https://regex101.com/ 来测试正则表达式模式
到目前为止,我无法弄清楚什么模式会返回所有三个名字的匹配中的姓氏, 或者如果我需要在代码中执行条件语句来分别解析三个元素名称,这似乎效率低下。
蒂亚