2012-06-27 62 views
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/

非常感謝!

回答

6

(\b_\w+) - \b匹配word boundary

+0

甚至比我即將發佈的答案還要好。我暫時忘了\ b! –

+1

您忘記了\ w – Hachi

+0

@Hachi感謝您的支持。 – Beyamor

3

完整的正則表達式(在你的小提琴作品):

/\b(_\w+)\b/g 
0

也許不是最好的解決方案,但它應該工作:

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

更新jsfiddle

編輯:Beyamor解決方案更清潔