【发布时间】:2017-10-21 03:00:53
【问题描述】:
我想匹配一串数字,可以是0,但是我不允许0开头。
这是我的措辞:^0|[1-9][0-9]*$.但它会匹配 01。
这是搜索的结果写成:^(0|[1-9][0-9]*)$。为什么匹配正确后还要匹配括号。
【问题讨论】:
-
^0$|^[1-9][0-9]*$
标签: javascript php regex
我想匹配一串数字,可以是0,但是我不允许0开头。
这是我的措辞:^0|[1-9][0-9]*$.但它会匹配 01。
这是搜索的结果写成:^(0|[1-9][0-9]*)$。为什么匹配正确后还要匹配括号。
【问题讨论】:
^0$|^[1-9][0-9]*$
标签: javascript php regex
这是我的措辞:
^0|[1-9][0-9]*$但它会匹配 01。
那是因为你在说,匹配以 0 开头的东西,或匹配以 [1-9][0-9]* 结尾的东西
说正确的话:
^0$|^[1-9][0-9]*$
或者,对备选方案进行分组 - 然后 ^ 和 $ 仍将锚定在开头 和 结尾找到的内容:
^(0|[1-9][0-9]*)$
【讨论】: