正規表現の構文はよくわかりませんが、jQuery の単純な強調表示プラグインを使用しています。任意の数の異なるインデックスでアポストロフィが 1 つ以下か、まったくないかを問わず、単語を選択する必要があります。 .
たとえば、次のような文字列があるとしますTods
(この文字列は何でもよいことに注意してください)。
Tod's
、To'ds
、T'ods
、またはを選択できる正規表現が必要'Tods
です。(これは必要ないので、最後のインデックスにアポストロフィを含めていないことに注意してください。ただし、おそらく何も害はありません)。
これまでのところ、私はjQueryでこのコードを持っています...:
$("input.highlightTerm").each(function () {
$(".resultValue").highlight($(this).val());
});
...$(this).val()
強調表示される文字列はどこですか。
C# を使用して、この jQuery コードが$("input.highlightTerm")
サーバー側で取得する非表示の入力フィールド ( ) に入力するため、C# でこれを行うこともできます。
シンプルな C# Razor 構文:
for (var n = 0; n < searchTermsArray.Length; n++)
{
<input class="highlightTerm" type="hidden" value="@searchTermsArray[n]" />
}
これを行うために必要な正規表現の構文は何ですか?
一致する必要があるものと一致しないもののその他の例:
T'o'd's [一致する必要があります]
トッズの【似合うはず】
'Tods' [一致する必要があります]
'Tods OR Tods' [プラグインの動作方法により、実際には問題ではありませんが、一致する必要があると思います]
Tod's [一致しない]
''Tods [マッチしないほうがいい]
--ほとんどの場合、文字列内の任意の数の異なるインデックス間でアポストロフィが 1 つ以下の場合にのみ一致が必要です。