-6

この表現の意味は何ですか。理解できない?

function escapeRegExp(string){
  return string.replace(/([.*+?^=!:${}()|[\]\/\\])/g, "\\$1");
}
4

2 に答える 2

2

\これには、その正規表現セット内の特定の文字の前にバックスラッシュ文字を導入する機能があります[...]

文字は次のとおりです。. * + ? ^ = ! : $ { } ( ) | [ ] / \

これらの一部は、 のような正規表現のコンテキスト内や のようなセット内で\特別な意味を持つため、必ず でエスケープされることに注意してください。/]

正規表現の外側の括弧は、結果の一致を「キャプチャ」する効果があり、関数の 2 番目の引数で$1は、そのキャプチャの結果です。この/gオプションは、「グローバルに」、または一致する回数だけ繰り返すことを意味します。

于 2013-05-09T20:36:47.317 に答える
1

この関数は、次の文字の直前にバックスラッシュを挿入しstring、結果を返します。

 . * + ? ^ = ! : $ { } ( ) | [ ] / \
于 2013-05-09T20:36:38.953 に答える