0

我对 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' 时,它开始工作。

4

1 回答 1

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

于 2013-01-25T13:04:43.503 回答