我需要在 <> 之间以及 > 和下一个 < 之间获取值 这是我的字符串
<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 实现吗?
我已经尝试了几个小时,请注意,我的正则表达式知识不是我想要的:-) 所以任何帮助都将不胜感激。
此表达式将匹配这些组:
([^<>]+)
你可以试试:
http://rubular.com/r/zQ64Z1heI1
您可以使用匹配器(在 Java 或 Ruby 中)将括号“(”和“)”之间的“值”恢复为组。其他语言将有不同的语法来做同样的事情。
试试这个模式:
/[^<>]*/g
如果在输出中包含 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