0

JavaScript の正規表現に問題があります。この Web サイトでテストしましたが、問題なく動作しています - 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);

しかし、自分の Web サイトでこのコードを実行しようとすると、機能しません。コンソールが「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 に答える