我有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'时,它开始工作。
答案 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);
缺点是你必须在运行之前知道正则表达式的结构。