2012-08-10 2 views
0

XML에서 정규식 패턴을 구현하려고하는데 XML에서 앰퍼샌드를 확인할 때 문제가 있습니다. 이 일을하는 더 깨끗한 방법이 있습니까, 매개 변수가 다른 순서 일 수 있습니다.XML에서 QueryString에 대한 Regex 도움말이 필요합니다.

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 

기록 된 해당 정규식은 XML 정규 표현식 패턴을 읽고 쿼리 문자열의 유효성을 검사 할

<filter regex="request_id=([^&amp;]+)&amp;application_id=([^&amp;]+)&amp;cat_id= ([^&amp;]+)&amp;rept_id=([^&amp;]+)&amp;req_type=([^&amp;]+)&amp;lookid=([^&amp;]+)&amp;access_key=([^&amp;]+)&amp;requested_date=([^&amp;]+)&amp;run_date=([^&amp;]+)&amp;schedule_id=([^&amp;]+)" source="get-property('To')"/> 

내 응용 프로그램 (나는 그것이 작동하는 방식을 변화에서 제어 할 수 없습니다)입니다.

참고 : 현재 예상대로 작동하지 않습니다. 내가 찾은

대체 솔루션은 나의 목적을 해결하지 않는 그러나

([^?=&amp;]+)(=([^&amp;].*)) 

입니다.

+1

어떤 정규식 엔진입니까? 어느 언어? – Kev

답변

0

당신의 내용을 대체 할 고려 = 및 &, 여기에 C#에서 코드는

string s="request_id=123&application_id=87...................."; 
Regex r=new Regex(@"(?<=\=).*?(?=(\&)|\z)"); 
r.Replace(s,"([^&amp;]+)&amp;"); 

그런 다음 새로운 대체 문자열 <filter regex=source="get-property('To')"/>를 추가 할 수 있습니다!

관련 문제