我正在尝试用java脚本为字符串"$val"或"$val 1"编写正则表达式,其中数字可以是可选的,但$val应该匹配
当前的正则表达式为 var rexp =/\$val\d+/gi;
这仅适用于 $val 1 或 $val 2,但不适用于$val。
摆脱+
.这意味着一个或多个数字。相反,你想要/$vald?/g
.
好吧,你的regex
只需要一点点修改。
var regex = /($val)|($vald+)/g;
var value = "$val";
value.match(regex);
好的,让我们直截了当。我们使用管道检查两个条件 |(OR( 运算符,一个没有任何数字($val)
,第二个带有数字($vald+)
和正则表达式的其余部分都是相同的。
更新:
根据@csander建议的正则表达式并进行一些修改,您可以使用它来返回正则表达式匹配以及数字。
var regex = /$val(d?)+/;