괄호 발생을 제외하고 쉼표 일치
다음 문자열을 고려하세요.
12,44,foo,bar,(23,45,200),6
현재 작업은 고안하는 것입니다. 괄호 밖에 있는 쉼표를 구체적으로 대상으로 하는 정규식입니다. 즉, 제공된 예에서는 "23"과 "45" 뒤의 두 쉼표만 일치하고 나머지는 제외하는 정규 표현식이 필요합니다.
Java 정규 표현식 솔루션
중첩된 괄호가 없다고 가정하면 다음 Java 정규식을 사용하여 원하는 결과를 얻을 수 있습니다.
Pattern regex = Pattern.compile( ", # Match a comma\n" + "(?! # only if it's not followed by...\n" + " [^(]* # any number of characters except opening parens\n" + " \) # followed by a closing parens\n" + ") # End of lookahead", Pattern.COMMENTS);
정규식 설명
이 정규식 후속 괄호(만약 발견된 경우)가 닫는 괄호가 아닌지 확인하기 위해 부정 예측 어설션을 활용합니다. 이 조건이 충족되면 쉼표가 일치하는 것으로 인식됩니다.
lookahead 어설션은 다음과 같이 작동합니다.
이렇게 하면 정규식은 바로 뒤에 닫는 괄호가 오지 않는 쉼표만 일치합니다.
위 내용은 Java에서 괄호 밖의 쉼표를 일치시키는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!