文字列全体がクエリに一致する一致のみを検索する正規表現が必要です。
たとえば、「レッドオクトーバー」という名前の映画を検索する場合、その正確なタイトル(大文字と小文字は区別されません)のみを照合し、「レッドオクトーバーを追え」のようなタイトルは照合しません。これを行う方法を私が知っているかどうかはよくわかりません。誰か知ってる?
ありがとう!
文字列全体がクエリに一致する一致のみを検索する正規表現が必要です。
たとえば、「レッドオクトーバー」という名前の映画を検索する場合、その正確なタイトル(大文字と小文字は区別されません)のみを照合し、「レッドオクトーバーを追え」のようなタイトルは照合しません。これを行う方法を私が知っているかどうかはよくわかりません。誰か知ってる?
ありがとう!
string1.Equals(string2, StringComparison.OrdinalIgnoreCase);
回答:
次の正規表現を試してください。
^Red October$
デフォルトでは、正規表現では大文字と小文字が区別されます。^
マーク一致したテキストの開始$
終了。
一般に、デフォルト設定では^
、$
アンカーは正規表現が文字列全体と一致することを確認するための良い方法です。
ただし、いくつかの注意点があります。
正規表現に変更がある場合は、正規表現をキャプチャしないグループで囲んでから、^
とで囲んでください$
。
^foo|bar$
もちろんとは異なります
^(?:foo|bar)$
また、^
そして$
異なる意味(の開始/終了を取ることができるラインの代わりに、開始/終了の文字列を特定のオプションが設定されている場合)。正規表現をサポートするテキストエディタでは、これが通常のデフォルトの動作です。一部の言語、特にRubyでは、この動作をオフにすることさえできません。
したがって、文字列全体の開始/終了でのみ一致することが保証されているアンカーの別のセットがあります。
\A
文字列の先頭で一致します。
\Z
文字列の最後または最後の改行の前に一致します。
\z
文字列の最後に一致します。
ただし、すべての言語がこれらのアンカー、特にJavaScriptをサポートしているわけではありません。
これに答えるのは少し遅いかもしれませんが、他の誰かにとっては便利かもしれません。
最も簡単な方法:
var someString = "...";
var someRegex = "...";
var match = Regex.Match(someString , someRegex );
if(match.Success && match.Value.Length == someString.Length){
//pass
} else {
//fail
}
申し訳ありませんが、それは少し不明確です。
私が読んだものから、あなたは単純な文字列比較をしたいと思います。そのために正規表現は必要ありません。
string myTest = "Red October";
bool isMatch = (myTest.ToLower() == "Red October".ToLower());
Console.WriteLine(isMatch);
isMatch = (myTest.ToLower() == "The Hunt for Red October".ToLower());
string.Contains
ですか?