아래 입력 문자열에서 반복 그룹을 찾는 쿼리가 있습니다.여러 번 Java 정규 표현식에서 그룹 발생
목표 : 광고가 4 개 이상 발행 수 있어야
. 키 : 값] 쌍 (직사각형 중괄호)
입력 :
<2014/06/14-11:03:06.695>[email protected]: [Process Name : Nav Calculations] [Total Time : 7 ms][Wait Time : 0 ms][Execution Time : 7 ms].
니펫
final Pattern p = Pattern.compile("(\\[.*?\\]){4,}");
final Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group());
}
위의 스 니펫으로 matcher 일치를 찾을 수 없습니다.
그러나 패턴을 "(\\[.*?\\]){3}")"
으로 변경하면 아래 값이 반환됩니다.
[Process Name : Nav Calculations] [Total Time : 7 ms][Wait Time : 0 ms][Execution Time : 7 ms]
정규식에 관한 이전 게시물도 읽었습니다. 그러나 couldnt는 내가 무엇이 여기에서 없는지에 관해 이해한다.
일반 표현식 "(\\[.*?\\]){4,}"
이 작동하지 않는 이유는 무엇입니까? 내 목표를 달성하기 위해이 정규 표현식에서 무엇을 변경해야합니까?
친절하게 여기에서 나를 안내합니다.
, 패턴을 맞추어 공간을 고려하지 정규 표현식을 알 수있는 방법이 있나요. – David
@ user3739735 답변을 강화했습니다 (자세한 설명 참조). ''공백을 고려하지 않는다 ''고 말할 때, 내가 말했던 새로운 정규식과 같은 뜻인가요? – zx81
고마워요 !!! 귀하의 답변은 매우 명확합니다! – David