使用正则表达式仅匹配第一个和最后4个数字

时间:2018-02-08 12:35:42

标签: javascript regex regex-negation regex-lookarounds

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

我可以使用colorAxis: { min: 0, minColor: 'rgba(0,0,0,0)', maxColor: Highcharts.getOptions().colors[0] }, 获取最后4个数字,但无法将第一个和最后四个数字放在一起。试过多种组合。

1 个答案:

答案 0 :(得分:0)

包含数字和其他字符的字符串

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

请参阅demo

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

故障:

  • ^.*? - 懒洋洋地匹配所有内容
  • (\d) - 直到遇到并抓住第一个数字
  • .* - 贪婪地匹配所有内容
  • (\d).*?(\d).*?(\d).*?(\d).*?$ - 直到它遇到最后4个数字,它们之间有任何东西,只捕获数字。 ($作为字符串的结尾)

只是数字

如果您想要仅使用数字捕获这些:

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

请参阅demo