いくつかの条件に従ってHTML要素からクラスを削除します。regex jsの一致するパターンから空白を削除します
elem.className = elem.className.replace(/shake|progress|done/g, '');
しかし、このパターンは、誰かが別のクラスを追加した場合も削除されますよう、shaker
を言うという問題があります。これは私の正規表現パターンです。パターンを次のように変更しました:
elem.className = elem.className.replace(/(^|\s)shake(\s|$)|(^|\s)progress(\s|$)|(^|\s)done(\s|$)/g, '');
ここで、単語全体が一致する場合のみ削除されます。しかし、それは単語の周りのスペースを削除するようになりました。この問題を解決する方法がわかりません。これで私を助けてください。
これは正規表現の仕事ではありません。代わりに['classList'](https://developer.mozilla.org/en-US/docs/Web/API/Element/classList)と対話してください。 –
正規表現の適用前後で文字列を意味する前後の正確な例を与えることができます –
Derekは正解です。しかし、単語全体を正規表現とマッチさせる手法は、とにかく言及する価値があるかもしれません。[単語境界アンカー](http://www.regular-expressions.info/wordboundaries.html)を見てください。 –