谁能告诉我这是什么正则表达式算法?
^0[1-10]
{3}-[1-10]
{3}-[1-10]{3}$
谢谢!
答案 0 :(得分:1)
@lawrencealan关于文字匹配是正确的,但是如果将正则表达式固定为
^0[1-9]{3}-[1-9]{3}-[1-9]{3}$
然后匹配
0XXX-XXX-XXX
其中X只能是1-9,而不是0。例如,这些都将匹配:
0748-283-991
0845-854-768
0478-982-749
但不是:
0840-324-876
0489-006-010
1324-987-345
答案 1 :(得分:1)
我们可以将此正则表达式视为三种可能性之一:
不用说,这三个都产生不同的匹配结果。我用regex101.com解释正则表达式匹配项。
模式[1-10]
是(很可能是)错字。该问题可能表示“从1到10的数字”,而是表示“ 1
,0
,-
中的任何一个”
如果我将[1-10]
替换为[0-9]
,则该表达式会更加有用。看一下这个:https://regex101.com/r/khD1LI/3/
这现在看起来像是捕获某种数字代码的表达式
您可以通过将[0-9]
替换为\d
(对于所有数字都是shorthand class)来进一步阐明含义
答案 2 :(得分:0)
该正则表达式看起来格式不正确...所以在当前状态下可能什么也没有... 但是,如果您修复它,则:
^0[1-10]{3}-[1-10]{3}-[1-10]{3}$
将匹配以下行:
0XXX-XXX-XXX
0XXX-XXX-XXX
0XXX-XXX-XXX
其中X是1
或0
因此,这些行的前两行而不是最后一行:
0111-101-000
0001-010-101
0333-100-111