6 정규식 여러 일치하는 간단한 패턴입니다 : ^([^:]+):(:? ([^ ]+))++$
자바 한 그룹
다음은 내 텍스트입니다. foo: a b c d
Matcher
은 나를 2 그룹으로 지정합니다 : foo
(키) 및 d
(값)입니다.
++
대신 +?
을 사용하면 d
이 아니라 a
이됩니다.
그래서 java는 그룹의 첫 번째 (또는 마지막) 발생을 반환합니다.
여기서는 하나만이 일치하므로 여기서는 find()
을 사용할 수 없습니다.
정규 표현식을 2 부분으로 나누고 find의 값 배열을 사용하면 어떻게 될까요? 많은 다른 환경에서 정규 표현식으로 작업했으며 거의 모두 "그룹 1의 첫 번째 발생", "그룹 1의 두 번째 발생"등을 가져 오는 기능을 가지고 있습니다.
JDK6에서 java.util.regex
을 어떻게 처리 할 수 있습니까?
감사합니다.
당신이 거기에 대해 점을 명확히 주시겠습니까 "단지 * 하나 * 일치?" 당신이 묻는 것처럼 불확실한 수의 일치를 포착 할 수있는 방법이 없기 때문에 여기서는 약간의 반복이 필요합니다. – seh
그것은 이미 2013이며 아직이 문제에 대한 적절한 해결책이 없습니다! * facepalm * – altern