1

JavaScriptの正規表現関数を使用してシンボルを置き換えようとしています。一重引用符を置き換える方法が見つかりませんでした。私が使用したコードは.replace(/([.?*&+^$[\]\\(){}|-])/g, "");

これに一重引用符エスケープを追加するにはどうすればよいですか??

4

4 に答える 4

0

置き換えたい文字をエスケープして、適切な正規表現を作成することをお勧めします。このようにして、問題なくこのリストに任意の文字を追加できます。

それは次のような単純なコマンドを与えるでしょう:

.replace(/([\.\?\*\&\+\^\$\[\]\\\(\)\{\}\|\-\'])/g, "")

お役に立てれば

于 2012-08-22T09:30:02.687 に答える
0

'角かっこ式の先頭に追加します。

.replace(/(['.?*&+^$[\]\\(){}|-])/g, "");
于 2012-08-22T09:26:02.297 に答える
0

式を逆にして、有効な文字ではないすべてを強調表示する方が簡単な場合があります。

string.replace(/([^a-zA-Z0-9])/, '');

文字マップの先頭に ^ を追加すると、文字クラスが反転します。したがって、これにより英数字以外の文字が削除されます。

于 2012-08-22T09:31:47.940 に答える
0

'文字クラスの最後に追加するだけで削除されます。ダッシュが原因でエラーがスローされます-。範囲を定義しようとします (できます[A-Z]が、もちろん|-'意味がありません)。したがって、最終的な正規表現: .replace(/([.?*&+^$[\]\\(){}|\-'])/g, ""); Is はダッシュをエスケープして、範囲文字ではなくリテラルのダッシュにします。

于 2012-08-22T09:27:17.733 に答える