2010-12-27 4 views
0

나는 그러나, 문자열어떻게 다음 RegExs를 하나의 표현식으로 결합 할 수 있습니까?

<[^>]*> 

이것은 빈 줄을 제거하지 않습니다에서 HTML 태그를 제거하려면 다음 정규식을 사용하고 있습니다. 내가 등을 모두 결합하는 시도

[#Chr(13)##Chr(10)#]+ 

: 나는 성공적 빈 줄을 제거이 다른 정규식 발견

ReReplaceNoCase(arguments.string, "(<[^>]*>)([#Chr(13)##Chr(10)#]+)", "", "ALL") 

을하지만이 작동하지 않습니다. 나는 이것을하기 위해 ColdFusion을 사용하고 있는데, 이는 # 표지를 설명해야한다.

나는 ()이 정규 표현식에서 연산자를 그룹화하는 데 사용되는 것으로 생각했지만 두 표현식을 결합하려고 시도하지 않았습니다.

<[^>]*>|[#Chr(13)##Chr(10)#]+ 

내가 강력하게 을 게시 한 정규 표현식은 사실하지을 수행하는 것이 비록 의심 :

+0

왜 하나의 정규 표현식으로 결합해야합니까? 2 단계로 진행할 수 없습니까? –

+2

필수 읽기 : http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –

+0

@ 마크, 할 수 있지만 더 이상은 아닙니다. 두 개가 아닌 하나의 함수를 통해 문자열을 실행하는 것이 효율적입니까? 그렇지 않다면, 왜? – Mohamad

답변

1

당신이 원하는대로 일이 두 정규 표현식은 다음 교대를 사용하여 결합 할 수 있다고 가정 올바르게 작동합니다. 나는 조언을 줄 것이다. 일반 표현식을 사용하여 HTML을 구문 분석하는 것은 HTML이 정규 언어가 아니기 때문에 가능하다. 대신 HTML 파서를 사용하십시오.

+0

마크, 내가 원하는 것은 스팬이나 앵커의 "title"속성에 사용하기 위해 문자열에서 HTML을 제거하는 것입니다. 나는 이것을 위해 정규식을 사용하면 안된다. – Mohamad

+1

@Mel : 당신의 질문은 "내가하고 싶은 것은 * 나사를 풀지 말고 * 나사를 풀지 마라. * 나사는 * 작은 * 나사이므로 나사가 필요 없다고 생각한다. 이 경우에 망치가 작동합니까? " - 음, 시간 중 일부는 작동 할 수도 있지만 여전히 가장 쉬운 방법은 아닙니다. –

+0

알겠습니다. 이 작업을 수행하는 ColdFusion의 함수를 찾으려고합니다. 저는 사람들이 RegEx를이 목적을 위해 사용하는 것을 보았을 때 익숙했습니다. 나는 그것이 옳은 일이라고 생각했습니다. – Mohamad

1
stripcr(ReReplaceNoCase(arguments.string, "(<[^>]*>)", "", "ALL")) 
관련 문제