我正在努力在XML中实现正则表达式模式,我面临的问题是在检查XML中的&符号时。有没有更简洁的方法,参数可以是不同的顺序。
request_id=123&application_id=876734&cat_id=1234&rept_id=12123&req_type=Schedule&lookid=GH123366HJ123&access_key=ABCD12345&requested_date=2012-02-05 04:50:17&run_date=2012-02-05 04:50:17&schedule_id=1123
相应的正则表达式是
<filter regex="request_id=([^&]+)&application_id=([^&]+)&cat_id= ([^&]+)&rept_id=([^&]+)&req_type=([^&]+)&lookid=([^&]+)&access_key=([^&]+)&requested_date=([^&]+)&run_date=([^&]+)&schedule_id=([^&]+)" source="get-property('To')"/>
我的应用程序(我无法控制更改其工作方式)将从XML读取正则表达式模式并验证查询字符串。
注意:现在它没有按预期工作。
我发现的替代解决方案是
([^?=&]+)(=([^&].*))
然而,它并没有解决我的目的。
答案 0 :(得分:0)
考虑到你想要替换=和&amp;之间的内容,这里是c#
中的代码string s="request_id=123&application_id=87....................";
Regex r=new Regex(@"(?<=\=).*?(?=(\&)|\z)");
r.Replace(s,"([^&]+)&");
然后,您可以将<filter regex=
和source="get-property('To')"/>
添加到新替换的字符串中!