我有这个正则表达式:
'/^[\p{L}\p{Mn}\p{Pd}\'\x{2019}]+(\s+[\p{L}\p{Mn}\p{Pd}\'\x{2019}]+)*$/u'
目标:使用unicode字符匹配有效(最后|最后)名称(人名),例如“D'Agatti”或“María”或其他。还必须包括一些特殊符号,如连字符。
问题:它也匹配NUMBERS。
问题:如何避免匹配数字?我应该使用哪些角色类?
答案 0 :(得分:0)
匹配名称的简单方法如下:
'/^([^\d]*)$/u'
这匹配除数字之外的所有内容。
然而,正如你所说,它对于名字而言过于宽泛。最后,您可以对从原始测试中获得的结果运行此测试,以删除带有数字的名称。