我在这件事上挣扎了很长时间,所以我来这里寻求帮助。在
我想匹配所有有一个数字后跟一个可选的短划线和更多数字的字符串。在
示例:
#Match
1
34-1
2-5-2
15-2-3-309-1
# Don't match
1--
--
#$@%^#$@#
dafadf
10-asdf-1
-12-1-
我从这个regex开始(一个或多个数字,后跟一个破折号和一个或多个数字):
^{pr2}$
那没用。然后我试着在\d
周围加上括号:
(\d)+(-(\d)+)*
那也没用。有人能帮我吗?在
Tags:
这应该做到:
工作正则表达式示例:
http://regex101.com/r/sD0oL7
下面是我构建的一个regex,它覆盖了所有的阳性测试用例;规则集是python:
Debuggex Demo
基本上,有一个前瞻性,以确保它从一个数字开始。还有一个lookbehind确保它也以一个数字结尾,中间的每个捕获组都严格由数字和连字符组成。在
您可以使用:
See it work here。在
或者,同一regex的Debugex版本:
Debuggex Demo
也许是更好的选择,因为它是固定在两端的:
^{3}$Debuggex Demo
确保使用正确的标志并重新使用方法:
相关问题 更多 >
编程相关推荐