コメントにて書いてらっしゃる
.replace( /(w+[0-9])/gi , ' ' )
を元に回答します。
1. 「w+」では単語を指定できません
w+
という正規表現が意味するのは「1以上連続する"w"」です。wordという意味でwを使いたかったのであれば\w+
が正しいです。
2. 「\w+」では日本語を指定できません
\w+
としてもうまく動かないと思います。\w
は
アンダースコアを含むどの英数字にもマッチします。[A-Za-z0-9_] に相当します。
(MDN web docsの正規表現の説明より引用)
なので日本語にはマッチしません。
.+
なり[ア-ン]+
なり質問者様の状況に合わせて他の方法で指定するのがいいかと思います。
3. 「[0-9])」では3桁の数字にマッチしません
ただの書き忘れかもしれませんが+
が必要です
[0-9]+)
正規表現に限った話ではないですが、書いたものがうまく動かない場合ひとつひとつ順番に確認していくのがいいかと思います。
"test(テスト123)".replace( //gi , ' ' )
"test(テスト123)".replace( /(w+/gi , ' ' )
"test(テスト123)".replace( /(w+[0-9]/gi , ' ' )
"test(テスト123)".replace( /(w+[0-9])/gi , ' ' )
と順に試していけば少なくとも
(
という「(」の指定には問題がなく
w+
という単語の指定に問題があるところまでは特定出来るはずです。