我想让用户输入0-20范围内的数字,他们都可以输入01和1
这就是我到目前为止所拥有的
/^[1-9]|0[1-9]|1[0-9]|2[0]$/
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
rua*_*akh 13
问题是|优先级低于^和$,因此您的模式意味着^[1-9] 或 0[1-9] 或 1[0-9] 或 2[0]$:只有一位数值受限制^,并且仅20受限制$.
您可以重复^和$在交替的每个分支中,或者包含交替(?:...)以创建非捕获子表达式:
/^[1-9]$|^0[1-9]$|^1[0-9]$|^20$/
/^(?:[1-9]|0[1-9]|1[0-9]|20)$/
Run Code Online (Sandbox Code Playgroud)
(我也冒昧地改变[0]了0.)
小智 8
怎么样
/^([0-1]?[0-9]|20)$/
Run Code Online (Sandbox Code Playgroud)
问题是20是一个特例.第二部分介绍了它.第一部分介绍其余部分.我假设perl风格的正则表达式,因为你没有指定上下文.
| 归档时间: |
|
| 查看次数: |
20560 次 |
| 最近记录: |