1

<> の間、および > と次の < の間の値を取得する必要があります これが私の文字列です

<MES>MID=13/08/15§13:22:17+08<RB01>I=180.8U=3.87<SET01>ALVU=20.00

私が出力として欲しいのは:

MID=13/08/15§13:22:17+08
RB01
I=180.8U=3.87
SET01
ALVU=20.00

これは正規表現を使用して可能ですか?

私は何時間も努力してきましたが、私の正規表現の知識は私が望んでいたものではないことを覚えておいてください:-)ので、どんな助けも感謝して受け取ります.

4

3 に答える 3

3

この式は、これらのグループに一致します。

([^<>]+)

あなたはで試すことができます:

http://rubular.com/r/zQ64Z1heI1

角かっこ「(」と「)」の間の「値」は、(Java または Ruby で) マッチャーを使用してグループとして復元できます。他の言語では、同じことを行うための構文が異なります。

于 2013-08-16T11:48:07.787 に答える
1

このパターンを試してください:

/[^<>]*/g
于 2013-08-16T11:45:58.707 に答える
1

出力に MES が含まれていても問題ない場合は、これを非常に簡単に行うことができます。

正規表現なし:

string input = "<MES>MID=13/08/15§13:22:17+08<RB01>I=180.8U=3.87<SET01>ALVU=20.00";
string output = input.Replace(">", "\r\n").Replace("<","\r\n").Trim();

正規表現の場合:

string input = "<MES>MID=13/08/15§13:22:17+08<RB01>I=180.8U=3.87<SET01>ALVU=20.00";
string output = Regex.Replace(input, @"[<>]", "\r\n").Trim();

これらの両方で、出力は同じです。

MES
MID=13/08/15§13:22:17+08
RB01
I=180.8U=3.87
SET01
ALVU=20.00
于 2013-08-16T13:04:39.070 に答える