2014-09-10 3 views
0

Ниже мой код в regexp. здесь я хочу сопоставить переменную «t» с переменной $ var_string. Если 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> 

ответ

0

$ является зарезервированным персонажем в регулярном выражении. Он используется для соответствия концу данной строки. Этот сайт объясняет это подробно. Link

Вам нужно избавиться от нее:

<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> 
+0

Здесь т является динамической переменной. который я сопоставляю в строке $ var_string. – deepak

+0

Да, но если вы хотите совместить строку со знаком доллара, вам нужно ее избежать. В противном случае это будет интерпретироваться как часть регулярного выражения. – Demnogonis

+0

что делать, если мне нужно сопоставить $ в строке, используя regexp.? – deepak

Смежные вопросы