[英]Regex matching names in pattern
我有一个简单的模式LASTNAME, FIRSTNAME MI_IDNUMBER
与^[a-zA-Z0-9, ]+_[a-zA-Z0-9]+
匹配。 我现在遇到的问题是该人姓氏带有连字符的记录,例如WALKER-REYES, ANNA T_AW12345
。 我试过将诸如(?=\\S*['-])([a-zA-Z'-]+)
合并到其中,但这只能识别字符串中的LASTNAME
。 将这一切串在一起的最佳方法是什么? 并非所有名称都带有连字符。
您构建正则表达式的方式不是最佳的。 您正在匹配每个字符,包括空格,直到找到下划线 ( _
),然后匹配其余字符。 而不是这样做,您不应该匹配空格并将字符串的每个部分放在不同的组中。
您可以尝试使用这个支持连字符的正则表达式。
^(?: ?([a-zA-Z0-9\-]+),?){2} ([a-zA-Z0-9_]+)
您可以在此 regex101 上测试更多案例
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.