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 回答