我拥有的内容:/^[26]{1}[0-9]{7}$/
我想要实现的目标:
25566778 # match
62299311 # match
12345678 # no match
76752313 # no match
基本上,最大长度为8,第一个字符只能是2或6,仅数字。
这个表达有什么问题?
答案 0 :(得分:4)
一些观察结果:
{1}
是不必要的。 \b
而不是^
和$
上获得更多好运,因为这两个匹配字符串的结尾,而\b
与{{3}匹配}}。
答案 1 :(得分:3)
我觉得你的表情没问题:
答案 2 :(得分:2)
这是对的。简化:^[26][0-9]{7}$
答案 3 :(得分:2)
我这样做^[26]\d{0,7}$
。 BTW,一个帮我设计正则表达式的工具是Expresso。
答案 4 :(得分:2)
我会做一些事情
{1}
,隐含1。$
。没有
空格,没有评论等。所有这一切都说使用grep
这有效:
grep -P '^[26][0-9]{7}$' temp
(注意,-E也会起作用)
使用以下输出:
在回答我的问题时,25566778
62299311
编辑其他6个答案。我期待什么我希望这有帮助
答案 5 :(得分:-5)
尝试使用正则表达式:
/^[26]{2}\d{7}$/