指定されたホワイトリストに含まれていないすべての文字 (文字、数字、空白、括弧、疑問符、説明記号) を置き換える正規表現を作成しようとしています
。これはコードです:
var regEx = /^[^(\s|\w|\d|()|?|!|<br>)]*?$/;
qstr += tempStr.replace(regEx, '');
何が問題なのですか?
ありがとうございました
指定されたホワイトリストに含まれていないすべての文字 (文字、数字、空白、括弧、疑問符、説明記号) を置き換える正規表現を作成しようとしています
。これはコードです:
var regEx = /^[^(\s|\w|\d|()|?|!|<br>)]*?$/;
qstr += tempStr.replace(regEx, '');
何が問題なのですか?
ありがとうございました
<br>
は間違っています。文字クラス内の特定の部分文字列を照合することはできません。\d
すでに含まれているので不要\w
です (thanks Alex K.!)+
代わりに使用する必要があります。*
試す
var regEx = /[^\s\w()?!]+/g;
s を個別に処理します<br>
(その正規表現が適用される前、またはブラケットが削除されます)。
g
(グローバル) 修飾子を使用する必要があります。
var regEx = /^[^(\s|\w|\d|()|?|!|<br>)]*?$/g; // <-- `g` goes there
qstr += tempStr.replace(regEx, '');
これにより、式を複数回一致させることができます。