我很难找出需要搜索的事物的正则表达式。
我的格式是######## - #。
这里的问题是“破折号”前面最多可以有10个数字,“破折号”之后最多可以有1到2个数字。
我怎样才能在正则表达式中实现这一目标?
我可以\d{5,}-\d{1,}
吗?哪个说你需要至少5个号码前面的短划线和至少1个短划线?如果我在js中这样做,我需要一个特殊字符用于破折号吗?
提前致谢。
答案 0 :(得分:4)
使用{min,max}
量词指定您的数量:
/\d{,10}-\d{1,2}/
您不需要转义-
,因为它在字符类之外没有特殊含义。
答案 1 :(得分:2)
var m = /(\d{0,10})-(\d{1,2})/
m[1] = // first set of numbers
m[2] = // second set
答案 2 :(得分:1)
这样的表达式可以起作用:
\d{1,10}-\d{1,2}
这将匹配1到10位数字,后跟一个破折号,然后是一个或两个附加数字。
当然,如果您希望第一组数字完全是可选的,则可以用{0,10}
或{,10}
替换第一个量词。
答案 3 :(得分:0)
您需要使用量词。像这样的东西会起作用
[0-9] {1,10} - [0-9] {1,2}或[0-9] {0,10} - [0-9] {1,2}如果可能的话