在文本中突出显示单词的正则表达式

A regex to highlight words in text

本文关键字:单词 正则表达式 显示 文本      更新时间:2023-09-26

我用Javascript写了一个函数,它在文本中使用突出显示单词。大约需要20行代码。

highlight(text, pattern)

网址:http://jsfiddle.net/sR5wM/1/

谁能写一个正则表达式,将做同样的更有效?highlight函数必须不区分大小写,并且忽略字符。

例如:

highlight("Être ou ne pas être, là est la question", "etre la")

将收益率:

你不不是, la la

问题

最好的方法是Alex K.提供的,在我看来,我建议你也看看基于UNICODE的正则表达式。

下面的正则表达式可能不是一个优化的,接近你的期望,但会做你所需要的,或者至少会给你一个开始。

试试这个regex:

(['u00C8-'u00CB]tre)|(l['u00E0-'u00E5'u0061])

现场演示

注意复选框不区分大小写

不要忘记查看列表中对应的unicode

我不记得它在javascript中的确切语法,但它应该是类似

的东西
for(var input : inputs){
    string.regexReplace("("+input+")","<b>'1<'b>")
}