2017-34-5-1503650477-547-1234567890-coco.jpg
I want to match 2017-34-5-1503650477-
我要匹配2017-34-5-1503650477-
2017-34-5-1503650477-toast.jpg
I want to match 2017-34-5-1503650477-
我要匹配2017-34-5-1503650477-
2017-240-1503650477-toast.jpg
I want to match 2017-240-1503650477-
我要匹配2017-240-1503650477-
I'm trying to use /\b^(.*)\-\d{10}\-\b/
but on the first example it matches 2017-34-5-1503650477-547-1234567890- wheras I want to stop here : 2017-34-5-1503660477-
我正在尝试使用/\ b^(.*)\-\d{10}\- \ b,但在第一个例子中它匹配2017-34-5-1503650477-547-1234567890-我要停止这里:2017-34-5-1503660477-
2 个解决方案
#1
1
You should add the laziness modifier:
你应该添加懒惰修饰符:
Note the question mark in (.*?)
注意(。*?)中的问号
\b^(.*?)\-\d{10}\-\b
Here is a regex101 example:
https://regex101.com/r/nQfsE9/1
这是一个regex101示例:https://regex101.com/r/nQfsE9/1
#2
1
You could use:
你可以使用:
^(\d{1,9}-)+\d{10}
Where:
-
(\d{1,9}-)+
pairs of 1-9 digits and-
-
\d{10}
followed by 10 digits
(\ d {1,9} - )+ 1-9位数对和 -
\ d {10}后跟10位数字
#1
1
You should add the laziness modifier:
你应该添加懒惰修饰符:
Note the question mark in (.*?)
注意(。*?)中的问号
\b^(.*?)\-\d{10}\-\b
Here is a regex101 example:
https://regex101.com/r/nQfsE9/1
这是一个regex101示例:https://regex101.com/r/nQfsE9/1
#2
1
You could use:
你可以使用:
^(\d{1,9}-)+\d{10}
Where:
-
(\d{1,9}-)+
pairs of 1-9 digits and-
-
\d{10}
followed by 10 digits
(\ d {1,9} - )+ 1-9位数对和 -
\ d {10}后跟10位数字