2011-01-15 7 views
1

html숨겨진 필드를 제거하는 정규식

Regex.Replace(html, "<input[^>]*id=\"__VIEWSTATE\"[^>]*>", string.Empty, RegexOptions.IgnoreCase); 

에서 viewstate 숨겨진 필드를 제거하기 위해 다음 일반 표현식을 작성했습니다. __EVENTTARGET, __EVENTARGUMENT, __EVENTVALIDATION을 정규 표현식에 포함 시키려면 어떻게 수정해야합니까?

답변

1
Regex.Replace(html, "<input[^>]*id=\"(__VIEWSTATE|__EVENTTARGET|__EVENTARGUMENT|__EVENTVALIDATION)\"[^>]*>", string.Empty, RegexOptions.IgnoreCase); 

쉽게 이해하고 확장 할 수 있습니다.

0

당신은 같이 그들을 통해 목록에있는 모든 항목을 추가 한 다음 반복 수 :

var items = new List { "__VIEWSTATE", "__EVENTTARGET", "__EVENTARGUMENT", "__EVENTVALIDATION" }; 

foreach (item in items) { 
    Regex.Replace(html, string.format("<input[^>]*id=\"{0}\"[^>]*>", item), string.Empty, RegexOptions.IgnoreCase); 
} 

나는 모음 반대로 내가, 코드에서 건너 온 경우 이해하기이 코드를 쉽게 찾을 수 있습니다 OR 진술.

0

"<input[^>]*id=\"__(?:VIEWSTATE|(?:EVENT(?:TARGET|ARGUMENT|VALIDATION)))\"[^>]*>"

관련 문제