word1とword2の最初の出現の間のテキストを一致させたい。テキストに改行文字が含まれている可能性があることを考えると、これを行うための最良の方法は何ですか?次のようなパターンはありますか:(word1)(word2ではない)*(word2)?
質問する
71 次
2 に答える
3
于 2012-09-30T18:41:49.633 に答える
1
SingleLineオプションを使用してそれらを一致させることができます。
//use '*' or '*?' depending on what you want for "word1 aaa word2 bbb word2"
string pattern = "word1(.*)word2";
var m = Regex.Match(text1, pattern, RegexOptions.Singleline);
Console.WriteLine(m.Groups[1]); // the result
SingleLineに関するMSDN:
...正規表現エンジンは、入力文字列を1行で構成されているかのように扱います。これは、改行文字\nまたは\u000Aを除くすべての文字に一致するのではなく、すべての文字に一致するようにピリオド(。)言語要素の動作を変更することによって行われます。
于 2012-09-30T18:54:37.617 に答える