我正在尝试创建一个模式匹配,以便在我的网站的文章中找到单词内容..当一个特殊字符或数字出现在单词之间时,我无法进行模式匹配,我将添加jsfiddle链接..也可以找到出现的次数并添加一个按钮,点击每个出现的按钮......这就是我的pgrm目前的方式http://jsfiddle.net/ehzPQ/12/
答案 0 :(得分:1)
我认为这个问题与你为你的单词选择的边界有关,我相信用\ b你没有考虑到这个单词之前有一个点的情况(比如“.cancer9”。但是我我真的不是正则表达式的专家......所以,我工作了一点并得到了这个解决方案,但我不确定它是否适合你:
使用Javascript:
$(document).ready(function () {
var $test = $('#article');
var entityText = $('#entity').html().replace(/\./g, "\\\.").replace(/\$/g, "\\\$").replace(/\?/g, "\\\?"); //etc...
var entityRegularExpression =new RegExp("([^a-zA-Z0-9])(" + entityText + ")([^a-zA-Z0-9])", "gi");
var highlight = '$1<span class="highlight">$2</span>$3';
$test.html($test.html().replace(entityRegularExpression, highlight));
});
在这里你有一个工作演示:http://jsfiddle.net/ehzPQ/20/
让我知道它是否适合你。