Regex 正则表达式优化
用户输入的输入值可能是:Regex 正则表达式优化,regex,pattern-matching,Regex,Pattern Matching,用户输入的输入值可能是: *限制为1个字符的符号(除*外,没有其他符号) 或 0-9个数字和(在点的情况下不能是起始字符或结束字符),限制为6个字符 以下数据为有效示例:0.10;010; 10; 065.34; * 我正在使用以下正则表达式: ^([0-9]+)|([0-9]+[.]{1,1}[0-9]+)|[*]+$ 我发现它太长了,而且不是最优的。有什么建议吗?您可以使用这个较短的正则表达式: ^((?=[\d.]{1,6}$)\d+(?:\.\d+)?|\*)$ (?=[\
限制为1个字符的符号(除*
外,没有其他符号)*
- 0-9个数字和
(在点的情况下不能是起始字符或结束字符),限制为6个字符
^([0-9]+)|([0-9]+[.]{1,1}[0-9]+)|[*]+$
我发现它太长了,而且不是最优的。有什么建议吗?您可以使用这个较短的正则表达式:
^((?=[\d.]{1,6}$)\d+(?:\.\d+)?|\*)$
(?=[\d*]{1,6}$)
是对整个输入强制执行长度=6的一种前瞻性方法。*
在本例中,只允许使用1个字符或6个字符的数字,使用dotI测试新的正则表达式。它不接受没有点的数字:10;500 ETC您可以在最后一组后重新检查regex?Oops是否遗漏了?
。现在修好了,请检查