パターンが次の略語を除くすべての (英語) 単語をキャプチャする必要があります。
"_any-word-symbols-including-dash."
(つまり、最初にアンダースコアがあり、最後にドットがあり、途中に任意の文字とダッシュがあります)
私はこのようなものを試しました:
/\b([A-Za-z-^]+)\b[^\.]/g
しかし、私は否定的な一致を扱う方法を理解していないようです。
アップデート:
一致させるだけでなく、いくつかのタグで単語をラップする必要があります。
"a some words _abbr-abrr. a here" 取得する必要があります:
<w>a</w> <w>some</w> <w>words</w> _abbr-abbr. <w>a</w> <w>here</w>
したがって、正しい正規表現で置換を使用する必要があります。
test.replace(/correct regex/, '<w>$1</w>')