【问题标题】:regex for number followed by letters数字后跟字母的正则表达式
【发布时间】:2015-02-25 20:46:59
【问题描述】:

我正在尝试让正则表达式适用于以下场景,但遇到了一些麻烦。下面是场景。

我的字符串如下所示:141st ST or 141ST ST

我只想得到141st 部分

【问题讨论】:

  • 哪里出了问题?
  • 在这两种情况下你都可能在太空中爆炸
  • 我不知道如何编写正则表达式来捕捉“141st”
  • 类似的东西:/[0-9]+st/

标签: php regex string parsing


【解决方案1】:

这应该可行。

[0-9]{3}[A-Za-z]{2}

3 个数字与

[0-9]{3}

1 到 3 位数字与

[0-9]{1,3}

和 2 个带

的字母

[A-Za-z]{2}

【讨论】:

  • 如果只想要字母为小写的部分,可以将[A-Za-z]改为[a-z]
  • 数字可以是1到3个字符怎么样?
  • 您可以使用 {1,3} 。也添加到回答中
  • 我试过了,没用。数字在行首,不知道有没有区别
  • 此时,我建议您前往https://regex101.com/ 并自己测试表达式,直到您完全拥有所需的内容。
【解决方案2】:

如果你想变得更酷,你也可以这样做来验证门牌号:

\d{0,2}(?:1st|2nd|3rd|[04-9]th)(?= st)

只使用不区分大小写的标志

【讨论】:

  • 你打败了我。 :)
猜你喜欢
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-30
相关资源
最近更新 更多