有人可以帮我提供以下号码的正则表达式吗? 我可以有数字或十进制或数字百分比。
50.15
或75%
或\d*(\.)?\d*(%)
。
我尝试了\d*(\.)\d*
正则表达式,但它只适用于百分比
String query = "a == p && a != 2";
^^^
this is not a string but a variable
一个是数字或小数,但我无法弄清楚如何将两者结合起来。
答案 0 :(得分:3)
使用此正则表达式/^\d+(\.\d+)?%?$/
^
应该以\d+
至少一位数(肯定会更多)(\.\d+)?
可能包含也可能不包含小数部分%?
可能包含也可能不包含%
符号$
结束
var re=/^\d+(\.\d+)?%?$/;
console.log(re.test('123')); // true
console.log(re.test('123.32')); // true
console.log(re.test('123.32%')); // true
console.log(re.test('123%')); // true
console.log(re.test('123.')); // false . atlast
console.log(re.test('123.%')); // false .% atlast

答案 1 :(得分:2)
如果您先尝试解决问题然后在遇到困难时寻求帮助会更好,否则您将如何学习?
以下网站适用于测试正则表达式:http://regexr.com/
话虽如此,以下内容应该有效:
/^\d+\.?\d*\%?$/
答案 2 :(得分:0)
答案 3 :(得分:0)
[0-9]+\.?[0-9]*%?
这将完成工作
答案 4 :(得分:-2)
你可以试试这个
([0-9]+)?\.?([0-9]+)\%$