課題の正規表現に関するヘルプが必要です。コンテンツ ディバイダーに基づいて複数行のテキストを分割する必要があります。
- - - - オリジナルメッセージ - - - -
シナリオは、コンテンツ ディバイダに任意の数の「-」文字とその後に続く任意の数のスペースを含めることができ、その後に任意の数の「-」文字が続くテキスト「元のメッセージ」が表示されるというものです。
どんな助けでも大歓迎です。
これを試して:
^\-+\s*Original Message\s*\-+$
その意味は:
^ Start of the string
\-+ One or more dashes
\s* Zero or more whitespace characters
Original Message
\s* Zero or more whitespace characters
\-+ One or more dashes
$ End of the string
これは、あなたが述べた要求とは少し異なりますが、あなたが探しているものだと思います (具体的には、「メッセージ」と 2 番目のダッシュ セットの間の空白文字について言及していませんでした)。
この正規表現の動作は次のとおりです。
^[-]+[' ']*Original[' ']Message[-]+$
この正規表現パターンはhttp://www.freeformatter.com/regex-tester.html
で検証できます
。上記の正規表現は次の場合に有効です:
------------Matches-------- --- -元のメッセージ-
------------元のメッセージ-
-----
元
のメッセージ- メッセージの後と「-」の前にスペースが必要な場合:
^[-]+[' ']*Original[' ']Message[' ']*[-]+$
Original と Message の間のスペースがオプションの場合:
^[-]+[' ']*Original[' ']*Message[' ']*[-]+$
Original と Message の間のスペースが任意である場合、または 1 つのスペースのみが許可されている場合:
^[-]+[' ']*Original[' ']{0,1}Message[' ']*[-]+$
この正規表現を変更して独自のパターンを作成し、http://www.freeformatter.com/regex-tester.html でテストできます。
以下の正規表現を試してください(RegexOptions.Multilineを設定してください)
^[-]*[ ]*Original[ ]{1}Message[ ]*[-]*[\r\n]*[a-zA-Z\r\n ]*
説明のために、サンプル ファイルに次のテキストが含まれているかどうかを考えてみましょう。
- - - - - - - - - - - - - - - - - オリジナルメッセージ - - - - - - - - -------------
一部のテキスト
一部のテキスト
一部のテキスト
一部のテキスト- - - - - - - - - - - - - - - - - オリジナルメッセージ - - - - - - - - -------------
その他のテキスト
その他のテキスト
その他のテキスト その他のテキスト
その他のテキスト
試合は2試合となります。
- - - - - - - - - - - - - - - - - オリジナルメッセージ - - - - - - - - -------------
一部のテキスト
一部のテキスト
一部のテキスト
一部のテキスト
- - - - - - - - - - - - - - - - - オリジナルメッセージ - - - - - - - - -------------
その他のテキスト
その他のテキスト
その他のテキスト その他のテキスト
その他のテキスト
ここで正規表現を使用します。
サンプルはこちら。
それが役に立てば幸い。