System.out.println(matcher.group(1));
System.out.println(matcher.group());
위의 두 코드의 차이점을 알고 싶습니다. 나는 다른 출력을 얻는다. 아무도 이것에 정교 할 수 있니?아래 두 가지의 차이점은 무엇입니까?
이전 경기
그룹 (INT)으로 일치 한 입력 부분 순서를 돌려줍니다
감사
System.out.println(matcher.group(1));
System.out.println(matcher.group());
위의 두 코드의 차이점을 알고 싶습니다. 나는 다른 출력을 얻는다. 아무도 이것에 정교 할 수 있니?아래 두 가지의 차이점은 무엇입니까?
이전 경기
그룹 (INT)으로 일치 한 입력 부분 순서를 돌려줍니다
감사
가 group()
에 통화가 당신에게 유사한 전체 문자열을 제공/개구 괄호 , 1에서 시작).
그래서 예를 들어, 다음과 같은 입력 문자열이 있다면 :
The quick brown fox
을 그리고 당신은 (따옴표없이) 다음과 같은 정규 표현식에 대해 일치 :
"The (\\w+)"
그런 다음 group()
당신에게 줄 것이다 "빠르다"와 group(1)
는 당신에게 "빠른"것을 줄 것입니다.
Java에서이 정규 표현식이 어떻게 작동하는지에 대한 자세한 내용은 java.util.regex.Matcher
JavaDoc을 참조하십시오.
이 정규 표현식에 뭔가가 누락되었습니다. "(\\ w +)'"을 (를) 말하지 않았습니까? (그리고 정확하게 말하면 일치하지 않을 것입니다 -'matches()', 찾을 것입니다 -'find()') –
백 슬래시를 추가하기 위해 업데이트되고'matches()'와'find()'에 대해 여러분이 맞습니다. . –
API doc은 가장 먼저 살펴볼 좋은 장소입니다. group(1)
왼쪽 카운팅하면 첫 번째 괄호 "캡처"그룹 (또는보다 일반적 group(n)
당신에게 n 번째 포착기를 제공한다 있습니다 반면
간단한 샘플의 경우 group() 및 group (1)에 대해 정확히 동일한 값을 얻습니다. 특정 표현식과 입력 문자열을 제공 할 수 있습니까? –