我的注册技能几乎为零,我试图匹配一个字段,正好有7或9个数字(不在7或9之间,因此没有8个数字无效)。
我试过(不要笑)
/^([0-9]{7} | [0-9]{9})
和
/^([0-9]{7 | 9})
如果有人可以提供帮助并解释非常感谢的答案。
我认为(可能不正确)与我正在使用的(编程)语言无关
由于
答案 0 :(得分:24)
/^\d{7}(?:\d{2})?$/
\d
是[0-9]
的现代正则表达式简写,使用(?:
可以阻止您不希望或不需要发生a group capture。
答案 1 :(得分:3)
你的第一种方法有效。只需省略空白,添加$
以匹配字符串结尾和尾部斜杠分隔符。您还可以使用快捷方式[0-9]
替换\d
:
/^(\d{7}|\d{9})$/
答案 2 :(得分:2)
七位或九位数字是七位数字,可选地后跟另外两位数字:
[0-9]{7}([0-9]{2})?
答案 3 :(得分:2)
使用此正则表达式^\d{7}(\d{2})?$
答案 4 :(得分:0)
在您正在使用的编程语言中,这可能更容易完成,但也可以在正则表达式中实现。请看一下这个链接:Regular expression to limit number of characters to 10
答案 5 :(得分:0)
如果您只删除空格(并且选项不包括括号),那么您的第一个将起作用。