正则表达式:选择姓名和姓氏

时间:2013-09-14 01:33:52

标签: php regex

我想只选择3个示例中的人名,并排除此部分:Nom : MrNom : Mme

Nom :   Mr Name Surname
Nom :   Mr Name1 Name2 Surname
Nom :   Mme Name Surname
Nom :   Mme Name1 Name2 Surname

我正在使用带有生成器的正则表达式:http://gskinner.com/RegExr/ 我将用它与PHP 我试过了

(?<=Nom :)(.*)

但它没有给出任何内容,因为它包括我要排除的先生或者Mme 有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

这应该这样做。

Nom\s+:\s+M(?:r|me)\s+(.*)

或者你可以做..

(?<=Nom :)\s+M(?:r|me)\s+(.*)

或使其更短

M(?:r|me)\s+(.*)$

答案 1 :(得分:0)

此正则表达式匹配目标输入:

((?<=Nom :   Mr )|(?<=Nom :   Mme )).*$

查看live demo使用您的示例。

这个正则表达式与另一个答案的主要区别在于整个匹配(不仅仅是组1或其他)是您的目标输入。