2014-06-20 3 views
-1

xml 파일에서 ROOMS 시작 및 종료 태그를 교체해야합니다.자바 대체 패턴

<A><ROOMS><B></B></ROOMS></A> 

<A><B></B></A> 

또한

<A><ROOMS><B></B></ROOMS></A> 

내가 노력

<A><B></B></A> 

하게된다

Pattern.compile("\\\\\\\\<(.*)ROOMS\\\\\\\\>").matcher(xml).replaceAll("") 

,하지만 작동하지 않습니다.

아무도 도와 줄 수 있습니까?

+0

그 정규식이 작동하는 이유는 무엇입니까? –

+1

8 개의 백 슬래시는 무엇입니까? – clcto

+4

왜 XML 파서가 아닌 정규식을 사용하고 있습니까? –

답변

0

당신은 아마이 정규식을 사용할 수 있습니다

<[\/]?ROOMS> 
+0

당신은 너무 확실하지 않습니다. –

+0

그것은 그것을하는 방법 중 하나 일뿐입니다. 이 정규식과 일치하는 방법은 여러 가지가 있습니다. 그래서 아마 내가 사용했을 것이다. –

+0

이 패턴을 사용하면 대신 JBalaguero

0

당신의 패턴으로

<[/]?ROOMS> 

를 사용해보십시오. ? 플래그를 사용하여 XML 닫는 슬래시가 0 회 또는 1 회 발생해야 함을 나타냅니다.

+0

'/'는 정규 표현식에서 특별한 의미가 없으므로 대괄호로 묶거나 백 슬래시로 이스케이프 할 필요가 없습니다. –

2

당신의 정규식은 어리 석다. 그냥 사용 :

xml = xml.replaceAll("</?ROOMS>", ""); 
+0

감사합니다. 작동합니다. – JBalaguero