2016-10-07 1 views
0

내 질문에 모든 가능한 중복을 보았지만 문제가 해결되지 않았습니다. 내가 <ignore></ignore> 태그 외부 대괄호 텍스트 만 찾을 필요가HTML 태그 바깥 쪽 대괄호 사이의 텍스트 찾기

This [is] a [text] in <ignore>square [brackets]</ignore> 

: 예를 들어,이 텍스트가. 이 경우이 단어는 istext입니다. 이 작업을 수행하는 방법 (Java Regex와 함께 사용하는 것이 좋습니다)?

+1

무엇을 당신이 그 괄호 텍스트와 함께 어떻게해야합니까? 예상되는 결과와 귀하가 시도한 것을 제공하십시오. 그리고 그것이 정규식이라면 정규식이 선택된 이유는 무엇입니까? –

+1

대괄호 안에 ''이 나오면 어떻게해야합니까? –

+0

@DavidWallace 이것은 일어나지 않을 것입니다. – Igorock

답변

3

첫째, <ignore> 태그 내에서 모든 것을 제거 :

str = str.replaceAll("<ignore>((?!</ignore>).)*</ignore>", ""); 

후 괄호 안에 모든 것을 찾을 수있는 다음과 같은 패턴을 만들 :

Matcher m = Pattern.compile("\\[([^\\[\\]]*)\\]").matcher(str); 
    while (m.find()) { 
    str = m.group(1); 
    System.out.println(str); 
    } 
관련 문제