-2

課題の正規表現に関するヘルプが必要です。コンテンツ ディバイダーに基づいて複数行のテキストを分割する必要があります。

- - - - オリジナルメッセージ - - - -

シナリオは、コンテンツ ディバイダに任意の数の「-」文字とその後に続く任意の数のスペースを含めることができ、その後に任意の数の「-」文字が続くテキスト「元のメッセージ」が表示されるというものです。

どんな助けでも大歓迎です。

4

3 に答える 3

0

これを試して:

^\-+\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 番目のダッシュ セットの間の空白文字について言及していませんでした)。

この正規表現の動作は次のとおりです。

http://regexr.com?36e1k

于 2013-09-21T05:34:34.270 に答える
0
^[-]+[' ']*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 でテストできます。

于 2013-09-21T11:55:33.113 に答える
0

以下の正規表現を試してください(RegexOptions.Multilineを設定してください)

^[-]*[ ]*Original[ ]{1}Message[ ]*[-]*[\r\n]*[a-zA-Z\r\n ]*

説明のために、サンプル ファイルに次のテキストが含まれているかどうかを考えてみましょう。

- - - - - - - - - - - - - - - - - オリジナルメッセージ - - - - - - - - -------------
一部のテキスト
一部のテキスト
一部のテキスト
一部のテキスト

- - - - - - - - - - - - - - - - - オリジナルメッセージ - - - - - - - - -------------
その他のテキスト
その他のテキスト
その他のテキスト その他のテキスト
その他のテキスト

試合は2試合となります。

  • 最初の試合:

- - - - - - - - - - - - - - - - - オリジナルメッセージ - - - - - - - - -------------
一部のテキスト
一部のテキスト
一部のテキスト
一部のテキスト

  • 2 番目の一致:

- - - - - - - - - - - - - - - - - オリジナルメッセージ - - - - - - - - -------------
その他のテキスト
その他のテキスト
その他のテキスト その他のテキスト
その他のテキスト

ここで正規表現を使用します

サンプルはこちら

それが役に立てば幸い。

于 2013-09-21T10:57:40.390 に答える