我有有以下一句:
「我是一個很長的(ng.a )句子「
現在我在JavaScript中使用正則表達式(或方法)以便能夠在該句子中搜索例如以下任意組合:'ng','(ng。','ng.a ','long(','ng.a)'等。
我希望能夠通過用'<b></b>
'標籤包裝它來突出顯示找到的文本。例如,如果搜索字母'e',那麼所有出現的字母'e'將包含'<b></b>
',使其成爲'<b>e</b>
'。
如果您輸入的字母是'ng.a',因爲只有一次發生這種情況,所以會被包裝爲'<b>ng.a</b>
'。
如何使用正則表達式來做到這一點?
非常感謝您對此的幫助。
二次修訂
(該問題的透明度作出修訂)...請仔細閱讀
我已經找到了正則表達式是什麼,我以後也就是接近,代碼:
var words = 'this is a ng. word (ng.a)'
var result = words.replace(/[(]?(ng\.)[)]?/gi, '<b>$1</b>');
但這返回:
'this is a <b>ng.</b> word <b>ng.</b>a)'
...注意左支架已被移除!
的結果應該是:
'this is a <b>ng.</b> word (<b>ng.</b>a)'
如果搜索詞並沒有被 'ng.
',這是 '(ng.a)
',那麼結果應該是:
'this is a ng. word <b>(ng.a)</b>'
感謝
可能的重複http://stackoverflow.com/questions/16251505/how-to-highlight-all-text-occurrenc es-in-html-page-with-javascript – 2014-10-16 10:37:18
順便說一句:我可能是錯的,但我沒有理由在這裏使用Regex。 – 2014-10-16 10:52:37
@Keim你當然是對的,但我認爲奎因是在問一個普遍的問題,否則會簡單地使用string.replace – Dinesh 2014-10-16 22:48:06