私のウェブサイトの記事で単語の内容を見つけるためのパターン マッチングを作成しようとしています.特殊文字または数字が単語の間にある場合、パターン マッチングを行うことができません。jsfiddle リンクを追加します..またオカレンスの数を見つけて、クリックすると各オカレンスに1つずつ移動するボタンを追加することは可能ですか...これは私のpgrmが現在取り組んでいる方法ですhttp://jsfiddle.net/ehzPQ/12/
1 に答える
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/
それがあなたのために働くかどうか私に知らせてください。
于 2012-06-14T03:05:57.220 に答える