正则表达式无法正常工作

时间:2013-01-25 13:02:51

标签: javascript regex

我有JavaScript正则表达式的问题。我在这个网站上对它进行了测试,它运行正常 - http://www.pagecolumn.com/tool/regtest.htm

     var str = "Stalowa Wola;Nisko;Rzeszow";
     var re = new RegExp("Stalowa Wola[a-zA-Z\W]*Rzeszow", "i");
     var myArray = str.match(re);
     console.log(myArray);

但是当我尝试在我的网站上运行此代码时,它不起作用。控制台返回'null'而我不知道为什么。我注意到,当我从RegExp中删除'Rzeszow'时,它开始工作。

1 个答案:

答案 0 :(得分:2)

var str = "Stalowa Wola;Nisko;Rzeszow";
var re = new RegExp("Stalowa Wola[a-zA-Z\\W]*Rzeszow", "i");
var myArray = str.match(re);
console.log(myArray);

你需要逃避反斜杠。

或者使用这种表示法:

var str = "Stalowa Wola;Nisko;Rzeszow";
var re = /Stalowa Wola[a-zA-Z\W]*Rzeszow/i;
var myArray = str.match(re);
console.log(myArray);

缺点是你必须在运行之前知道正则表达式的结构。

http://www.regular-expressions.info/javascript.html