使用正则表达式在javascript中搜索并突出显示带有括号文本的文本

时间:2011-04-11 07:21:20

标签: javascript regex

我正在做一个项目,我想搜索并突出显示文字我能够通过正则表达式搜索单词和多个单词。我的代码是

var RE = new RegExp(word_array[i],"gi")

word_array什么都没有,但是我的单词是数组格式的搜索和突出显示为ex

         word_array[0] ="tobacco"
         word_array[1] ="chipper(tobacco)"
         word_array[2]="tobacco(snuf)"

var RE=new RegExp("tobacco","gi")

我的word_array中的烟草这个词,这个词在我的html页面中搜索并突出显示。但是我的数组中的“chipper(tobacco)”这个词有文字和括号内的文字不会搜索和突出显示var RE =new RegExp("chipper(tobacco)","gi")

我尝试使用[abc],(/\[([^\]]+)\],(?:abc),但没有搜索和突出显示 谢谢,但我尝试了你的逃避序列(chipper(烟草)它搜索突出“chippertobacco”只有没有括号我想突出显示“chipper(烟草)”这个词用圆括号这应该在word_array [i]循环所以plz tel me how how可以在var RE = new RegExp(word_array [i],“gi”)gi中为word_array [i]提供代码 - 除了全局搜索和不区分大小写之外

提前谢谢

尽快给任何人提供帮助

2 个答案:

答案 0 :(得分:1)

括号在正则表达式中具有特殊含义。如果你想匹配一个文字括号,你需要逃避它。匹配“削片机(烟草)”使用RegExp("chipper\(tobacco\)","gi")

答案 1 :(得分:0)

我用Reg Exp

尝试了Escaping序列
                 "chipper\\"(tobacco\\) 

它会搜索并高亮显示

“削片机(烟草)”和阵列

          word_array[i].replacereplace("(","\(").replace(")","\\)")