【问题标题】:Match only first and last 4 numbers using regex [duplicate]使用正则表达式仅匹配第一个和最后 4 个数字 [重复]
【发布时间】:2018-07-19 00:49:41
【问题描述】:

所以我想使用正则表达式匹配第一个数字和最后四个数字。

我可以使用\d(?=\d{4}) 获得最后 4 个数字,但无法将第一个和最后四个数字放在一起。尝试了多种组合。

【问题讨论】:

标签: javascript regex regex-negation regex-lookarounds


【解决方案1】:

带有数字和其他字符的字符串

^.*?(\d).*(\d).*?(\d).*?(\d).*?(\d).*?$

demo

捕获字符串中的第一个数字,然后捕获最后 4 个数字(全部单独,允许中间的任何字符)。

细分:

  • ^.*? - 懒惰匹配一切
  • (\d) - 直到遇到并捕获第一个数字
  • .* - 贪婪匹配一切
  • (\d).*?(\d).*?(\d).*?(\d).*?$ - 直到遇到最后 4 个数字,它们之间有任何内容,只捕获数字。 ($ 表示字符串的结尾)

只是数字

如果您只想用数字捕获这些:

^(\d)\d+(\d{4})$

demo

【讨论】:

    猜你喜欢
    • 2019-12-13
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 2019-03-13
    • 2011-07-14
    相关资源
    最近更新 更多