【问题标题】:RegEx to get the alphabets or alphabets including the last digit with space正则表达式获取字母或字母,包括最后一位带空格的数字
【发布时间】:2020-09-04 08:11:59
【问题描述】:

我有以下字符串:

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 认为不会有任何字符后跟数字和空格。

【问题讨论】:

标签: regex alphanumeric


【解决方案1】:

您可以使用捕获组来匹配以 LetterNumber 结尾的任意数量的单词,或者两个 Letter 后跟digits-digits 部分的单词:

^([A-Za-z]+\d*(?: [A-Za-z]+\d*)+) \d+-\d+$

Regex demo

无需匹配最后由连字符分隔的数字,您可以省略捕获组和最后一部分:

^[A-Za-z]+\d*(?: [A-Za-z]+\d*)*

Regex demo

【讨论】:

  • @7koFnMiP 您可以检查编辑前的内容。这是格式问题。 stackoverflow.com/posts/63737298/edit/…
  • 谢谢,但我可以不使用任何以 LetterNumber 结尾的单词,也可以不使用以 Letter 结尾的单词,然后是一系列数字
  • @NAGASREE 如果你想匹配任意数量的以 LetterNumber 结尾的单词,或者两者都是 Letter 后跟数字的数字:^((?:[A-Za-z]+\d* )+)\d+-\d+$ regex101.com/r/EIGH14/1 无需匹配末尾分隔的数字: ^[A-Za-z]+\d*(?: [A-Za-z]+\d*)*regex101.com/r/ta7JHg/1
  • 正则表达式 cityAndCode = new Regex(@"^[A- Za - z] +\d * (?: [A - Za - z] +\d )" );它以 [x-y] 反向顺序抛出异常
  • @NAGASREE 不应该有空格Regex cityAndCode = new Regex(@"^[A-Za-z]+\d*(?:[A-Za-z]+\d)"); 使用其他模式之一是Regex cityAndCode = new Regex(@"^[A-Za-z]+\d*(?: [A-Za-z]+\d*)*");
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-07
  • 1970-01-01
相关资源
最近更新 更多