2

テキストのブロックがあり、その中の各単語は、アンダースコアで始まり、別の一意の文字列に置き換える必要があります。

例えば:

_word -> _a 
_anotherword -> _b
_another_word -> _c
._dotwithword -> ._d
[_brword] -> [_e]
another_word -> another_word (should stay the same)

私はこの正規表現を使用してそれらを見つけています-(_ \ w +)、そしてアンダースコアが単語の途中にある場合は最後のものを除いて、すべてを正しく置き換えます。JS正規表現を介してこれを確認する方法はありますか?

テストするJSフィドル:http://jsfiddle.net/C93bs/3/

どうもありがとう!

4

3 に答える 3

6

(\b_\w+)-単語の境界\bに一致します。

于 2012-06-27T06:30:03.357 に答える
3

完全な正規表現(フィドルで機能します):

/\b(_\w+)\b/g
于 2012-06-27T06:36:46.900 に答える
0

おそらく最も良い解決策ではないかもしれませんが、うまくいくはずです:

/((^|\s)[\,\[\.]?_\w+(\])?)/g

更新されたjsfiddle

編集: Beyamor ソリューションははるかにクリーンです

于 2012-06-27T06:44:31.103 に答える