-1
here [単語の部分一致]で機能します。理想的には、部分文字列には一致しません。単語の最初の文字が一致する場合、文字列のリスト内の単語の出現を検索し、ハイライト一致した単語を検索します。JavaScriptの正規表現
検索語最初の文字を検索する文字列のリスト内の任意の単語の最初の文字と一致した場合。 でなければなりませんマッチした文字が
// Core function
function buildRegexFor(find) {
return '(' + find + ')';
}
// Handle button click event
document.querySelector('button').onclick = function() {
// (1) read input
var find = document.querySelector('input').value;
var str = document.querySelector('textarea').value;
// (2) build regular expression using above function
var regexStr = buildRegexFor(find);
// (3) apply regular expression to text and highlight all found instances
str = str.replace(new RegExp(regexStr, 'g'), "<strong class='boldtxt'>$1</strong>");
// (4) output
document.querySelector('span').textContent = regexStr;
document.querySelector('div').innerHTML = str;
};
.boldtxt {
color: red;
}
Value to find:
<br>
<input value="eter">
<br>
<button>find</button>
<br> Text to find in:
<br>
<textarea cols=40>meter parameter eter water twitter eternal</textarea>
<br> Regex: <span></span>
<br>
<div></div>
を強調しました。
単語にはの特殊文字もあります。一致する場合は強調表示する必要があります。 以下は私が達成しようとしているコードです。 eter nalはeterを強調表示する必要があります。ここでは、eterのメーターとパラメータをハイライト表示しないでください。
我々は見つけるために、入力値として "ETERの%と@" を提供する場合。私たちがテキストエリアに "メーターパラメータ@水とツイッターの永遠の%"の内容を持っているならば、結果 "唯一の%と@"の内容を強調表示する必要があります。 – ckn518