두 개의 다른 항목을 하나의 긴 문자열로 만들고자하는 요구 사항이 있습니다. 그룹 (1)과 그룹 (6)을 할 때 필수 항목을 얻을 수있는 프로그램 아래에 있습니다. 하지만 그룹 (1)과 그룹 (2)에서 받고 싶습니다.두 패턴의 정규식
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String args[]) {
String somepattern = "((123|456)-(0|1)-((\\d-?){8})-\\d{1})/(\\d{2})";
String str = "/somethingwaste/123-0-1234-5678-9/10";
Matcher p = Pattern.compile(somepattern).matcher(str);
while (p.find()) {
System.out.println(p.group(1));
System.out.println(p.group(6));
}
모든 방향을 설명합니다.
감사
마법 단어는 '비 캡처 그룹'입니다. Regex 문서에서 찾아 보시기 바랍니다. – Ingo
문제가 있고 그것을 정규식으로 해결하기로 결정한 경우 두 가지 문제가 있습니다. =) – svz