0

私のウェブサイトの記事で単語の内容を見つけるためのパターン マッチングを作成しようとしています.特殊文字または数字が単語の間にある場合、パターン マッチングを行うことができません。jsfiddle リンクを追加します..またオカレンスの数を見つけて、クリックすると各オカレンスに1つずつ移動するボタンを追加することは可能ですか...これは私のpgrmが現在取り組んでいる方法ですhttp://jsfiddle.net/ehzPQ/12/

4

1 に答える 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 に答える