问题描述
我有以下字符串:
Hyderabad RTC K1 1991-1998
Hyderabad RTC KK 1876-1897
Al Test K5 1876-9876
因此,我只想从上面的字符串中获得数字以外的第一部分,例如:
Hyderabad RTC K1
Hyderabad RTC KK
Al Test K5
我已经尝试过此^[a-z]*([0-9] )?$
RegEx,认为不会有任何字符,后跟数字和空格。
解决方法
您可以使用一个捕获组来匹配任意数量的以LetterNumber或两个字母结尾的单词,后跟数字-数字部分:
^([A-Za-z]+\d*(?: [A-Za-z]+\d*)+) \d+-\d+$
不需要匹配末尾用连字符分隔的数字,您可以省略捕获组和最后一部分:
^[A-Za-z]+\d*(?: [A-Za-z]+\d*)*