RegExp不适用于'$';签名

RegExp不适用于'$';签名,regex,Regex,下面是我在regexp中的代码。这里我想将一个“t”变量与$var_字符串匹配。如果t=$,则它不起作用 <script> $regex = new RegExp(t , 'g' ); $res = $var_string.match($regex); $var_string_length = $var_string.length; if($res.length >= 2 ){ $var_string

下面是我在regexp中的代码。这里我想将一个“t”变量与$var_字符串匹配。如果t=$,则它不起作用

<script>
$regex = new RegExp(t , 'g' );
$res = $var_string.match($regex);
$var_string_length = $var_string.length;
if($res.length >= 2 ){                                      
$var_string = $var_string.substring(0, $var_string_length - 1);                       
$("#my_popup4").popup('show');
return false;
}
</script>

$regex=新的RegExp(t,'g');
$res=$var_string.match($regex);
$var\u string\u length=$var\u string.length;
如果($res.length>=2){
$var\u string=$var\u string.substring(0,$var\u string\u length-1);
$(“#我的弹出窗口4”).popup('show');
返回false;
}

$
是正则表达式中的保留字符。它用于匹配给定字符串的结尾。本网站对此进行了详细解释

你需要逃避它:

<script>
var t = "\$";
$regex = new RegExp(t , 'g' );
$res = $var_string.match($regex);
$var_string_length = $var_string.length;
if($res.length >= 2 ){                                      
$var_string = $var_string.substring(0, $var_string_length - 1);                       
$("#my_popup4").popup('show');
return false;
}
</script>

var t=“\$”;
$regex=新的RegExp(t,'g');
$res=$var_string.match($regex);
$var\u string\u length=$var\u string.length;
如果($res.length>=2){
$var\u string=$var\u string.substring(0,$var\u string\u length-1);
$(“#我的弹出窗口4”).popup('show');
返回false;
}

这里t是动态变量。接下来我在$var_字符串中匹配它。是的,但是如果你想匹配一个带有美元符号的字符串,你需要转义它。否则,它将被解释为正则表达式的一部分。如果必须使用regexp在字符串中匹配$,该怎么办?请尝试使用字符串replaxe
t=t.replace(“$”,“\\$”)
。不..它不起作用。