var scale = $('#'+fields[i].id+'-scale').val();
var decimalOnly = '/^\s*-?[1-9]\d*(\,\d{1,'+scale+'})?\s*$/';
if(fields[i].value != "" && !(fields[i].value).match(decimalOnly)) {
$(fields[i]).addClass('form-attr-error');
result = false;
}
else {
$(fields[i]).removeClass('form-attr-error');
}
在上述RegEx中传递了“ scale”占位符值并比较value.match(RegEx)
无效。
但是它像这样工作
value.match(/^\s*-?[1-9]\d*(\,\d{1,2})?\s*$/);
请帮助我如何将占位符的值替换为'2'。
答案 0 :(得分:0)
StringJoiner formattedString= new StringJoiner("\n");
formattedString.add("XXX");
formattedString.add("YYY");
System.out.println(formattedString);
将自动将字符串参数转换为正则表达式;如果您想对此进行明确说明,则可以使用.match
构造函数。但是请注意,斜杠不是regexp的一部分,而是regexp literal 的一部分。即这些会做同样的事情:
RegExp
这些都将执行与第一组不同的相同操作:
foo.match(/a/)
foo.match("a")
foo.match(new RegExp("a"))
前者将匹配一个字母序列foo.match(/\/a\/)
foo.match("/a/")
foo.match(new RegExp("/a/"))
;后者将匹配三个字母的序列a
。
tl; dr:消除/a/
中的斜杠。