正则表达式:必须以破折号之间的第一个匹配的10个数字结束

时间:2017-08-25 12:28:40

标签: regex

2017-34-5-1503650477-547-1234567890-coco.jpg

我想匹配 2017-34-5-1503650477 -

2017-34-5-1503650477-toast.jpg

我想匹配 2017-34-5-1503650477 -

2017-240-1503650477-toast.jpg

我想匹配 2017-240-1503650477 -

我试图使用/\b^(.*)\-\d{10}\-\b/但是在第一个例子中它匹配 2017-34-5-1503650477-547-1234567890 - 我希望在此停止: 2017-34-5-1503660477 -

2 个答案:

答案 0 :(得分:1)

你应该添加懒惰修饰符:

  

请注意(。*?)

中的问号
\b^(.*?)\-\d{10}\-\b

这是一个regex101示例:
https://regex101.com/r/nQfsE9/1

答案 1 :(得分:1)

您可以使用:

^(\d{1,9}-)+\d{10}

其中:

  • (\d{1,9}-)+对1-9位数和-
  • \d{10}后跟10位数字

example