2

次のような特殊文字の文字列コンテンツを検出したい:ADD[ID,x,y];

この場合は次[のとおりです。]

それは不可能ですか?

4

1 に答える 1

3

部分をキャプチャしたい場合はID,x,y、それが可能であることを確認してください。

var str = "ADD[ID,x,y];";
var match = /\[([^\]]+)\]/.exec(str);
if (match) {
    console.log(match[1]); // "ID,x,y"
}

表現は実にシンプルですが、複雑に見えます。そう:

  • /.../正規表現リテラルです。
  • \[リテラル[文字です ([正規表現では特殊なので、エスケープする必要があります)。
  • (....)キャプチャ グループです。これを使用して、括弧内のテキストをキャプチャします。
  • は「文字[^\]]ではないもの」を意味する文字クラス]です。]そうしないと、文字クラスが終了するため、内部でエスケープする必要があります。
  • +とは「一つ以上の前のもの」という意味です。
  • そしてもちろん、\]は文字どおりの終了]文字です。
于 2013-06-13T07:43:19.850 に答える