[英]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.