正規表現の場合、検索までの構文は何ですか?ちょっと:
Haystack:
The quick red fox jumped over the lazy brown dog
Expression:
.*?quick -> and then everything until it hits the letter "z" but do not include z
lookahead regex syntax は、目標を達成するのに役立ちます。したがって、あなたの例の正規表現は
.*?quick.*?(?=z)
そして、.*?
先読みの前に(?=z)
遅延マッチングに注意することが重要です。式は、z
がfirst出現するまで部分文字列に一致します文字。
C#コードサンプルを次に示します。
const string text = "The quick red fox jumped over the lazy brown dogz";
string lazy = new Regex(".*?quick.*?(?=z)").Match(text).Value;
Console.WriteLine(lazy); // The quick red fox jumped over the la
string greedy = new Regex(".*?quick.*(?=z)").Match(text).Value;
Console.WriteLine(greedy); // The quick red fox jumped over the lazy brown dog
これを試して
(.*?quick.*?)z