我需要在<>之间获取值并且在>之间和下一个< 这是我的字符串
<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
这可以通过使用RegEx吗?
我一直在努力工作几个小时,请注意我的正则表达知识不是我想要的:-)所以任何帮助都会感激不尽。
答案 0 :(得分:3)
此表达式将匹配这些组:
([^<>]+)
你可以试试:
http://rubular.com/r/zQ64Z1heI1
您可以将括号“(”和“)”之间的“值”恢复为具有匹配器的组(使用Java或Ruby)。其他语言也有不同的语法来做同样的事情。
答案 1 :(得分:1)
尝试这种模式:
/[^<>]*/g
答案 2 :(得分: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