まず最初に、正規表現文字列を作成するための優れたツールやリファレンスは何かを尋ねることから始めますか? 普段はネットで検索していますが、もう少し勉強したいと思います。
元の質問に戻ります。完全な文字列を検索する正規表現、または文字列を含む行を検索する正規表現は何ですか。文字列は次のとおりです。
** Start of
まず最初に、正規表現文字列を作成するための優れたツールやリファレンスは何かを尋ねることから始めますか? 普段はネットで検索していますが、もう少し勉強したいと思います。
元の質問に戻ります。完全な文字列を検索する正規表現、または文字列を含む行を検索する正規表現は何ですか。文字列は次のとおりです。
** Start of
探している正規表現は次のとおりです。\*\* Start of.*
C# には独自のエスケープ文字があるため、これを のような逐語的な文字列に入れることができます@"\*\* Start of.*"
。
正規表現を作成、学習、理解するのに役立つ最適なツールはRegexBuddyです。式の意味を確認したり、直感的なグラフィカル UI でテストしたりするのに役立ちます。
正規表現に関する (さまざまな言語にわたる) 情報の最も完全なリソースは、http://www.regular-expressions.info/です。特定の正規表現の実装について学びたい場合は、実装固有のドキュメント/仕様を読んだほうがよいかもしれません。.NET については、MSDN の Regex ドキュメントから始めることをお勧めします。また、 http://derekslager.com/blog/posts/2007/09/a-better で入手できる無料のツールを使用して、オンラインで .NET 正規表現をすばやくテストすることもできます。 -dotnet-regular-expression-tester.ashx
IndexOf
また、このような単純なパターンにはorStartsWith
メソッドを使用する方がおそらくより良い解決策であるという @ziesemer に同意することにも注意してください。
仕事に間違ったツールを使用していると思います。正規表現は、パターンを見つけるのに最適です。単純な検索のみを目的としているようです。これには適切な API (例: IndexOf
) を使用してください。
それ以外の場合は、正規表現の特殊文字であるアスタリスクをエスケープする必要があります。これは、「0 個以上の一致」を意味します。
\*\* Start of
正規表現を学習するには、 www.regular-expressions.infoで正規表現の基本構文リファレンスを確認し、さらに「穏やかな紹介:基本」を確認してください。
そして、あなたがaからzまでの文字だけが欲しいかどうかを見つけるための文字列に関して、私はあなたが次のように書くべきだと思います
^[a-zA-Z]$
これには小さく大文字のaからz文字が必要です。
^\*\* Start of(.*?)$
分割の詳細
\*
、アスタリスクを考慮に入れるStart of
、この文字列を正確に比較します(.*?)
、その一行で何でも取る
^\*\* Start of(.*?)(([\n]*(.*?)){19})*$
分割の詳細
\*
、アスタリスクを考慮に入れるStart of
、この文字列を正確に比較します(.*?)(([\n]*(.*?)){19})*
、19行までに制限する以外は何でも取る非常に有益ですが、特定の問題に対する正しい正規表現を提供する回答はありません。ここにあります:
string regexPattern = @"^.*?\*{2} Start of.*?$";
multiline
一致を検索するときは、オプションを指定する必要があることに注意してください。
結果はこちらでご覧いただけます。
そして、ここにパターンの説明があります:
^.*?\*{2} Start of.*?$
Options: ^ and $ match at line breaks
Assert position at the beginning of a line (at beginning of the string or after a line break character) «^»
Match any single character that is not a line break character «.*?»
Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
Match the character “*” literally «\*{2}»
Exactly 2 times «{2}»
Match the characters “ Start of” literally « Start of»
Match any single character that is not a line break character «.*?»
Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
Assert position at the end of a line (at the end of the string or before a line break character) «$»