私のようなテキストから2グループをキャプチャする方法、を把握しようとしている:私は「MyValue」をキャプチャしたいオプションの前に終わりのための正規表現「 - 」または sの
---MyValue=4497-DD616-1134-34---\r\n
と"4497-DD616-1134-34"。 \ s文字(\ r、\ n、空白など)を除く任意の文字と、 ' - '文字を繰り返し使用できます。一度に2回。 私の現在の正規表現:
(?<Attribute>[^-\s\r\n]+)=(?<Value>[^-\s\r\n]+)
それに伴う問題は、全体の「4497-DD616-1134-34」の値から、それは最初の前にのみアルファ文字をキャプチャすること、である「 - 」サインが。文字列の終わり近くにある " - "の前に全体の値を取得する必要があります。 また、この正規表現は、文字列などのために働く必要があります。
MyValue=17%
Number=72
をので、 "---"、 "\ R"、 "\ n" は、文字などはオプションです。 私はRegexをC#で使っています。正規表現に
リンク:Regex link
任意のアイデア?
あなたは、このように正規表現を使用することができ
は、あなたの表現が実際にキャプチャするものの例を表示します。 –
'(\ w +)=(\ w + - \ w + - \ w + - \ w +)'?キャプチャグループ1: 'MyValue'、キャプチャグループ2:' 4497-DD616-1134-34' – Fabien
どの言語を使用していますか?正規表現は異なるフレーバーで来る –