source

Java 정규식 OR 연산자

gigabyte 2022. 10. 19. 21:09
반응형

Java 정규식 OR 연산자

바보 같은 질문일 수도 있지만 어디에서도 찾을 수 없었습니다.

괄호 없이 Java OR 정규 표현 연산자(|)를 사용하려면 어떻게 해야 합니까?

예: Tel | Phone | FAX

파이프 자체만 사용할 수 있습니다.

"string1|string2"

예를 들어 다음과 같습니다.

String s = "string1, string2, string3";
System.out.println(s.replaceAll("string1|string2", "blah"));

출력:

blah, blah, string3

괄호를 사용하는 주된 이유는 대안 범위를 제한하기 위해서입니다.

String s = "string1, string2, string3";
System.out.println(s.replaceAll("string(1|2)", "blah"));

출력은 동일합니다.하지만 이렇게 하면:

String s = "string1, string2, string3";
System.out.println(s.replaceAll("string1|2", "blah"));

다음과 같은 것이 있습니다.

blah, stringblah, string3

"string1"이나 "2"라고 말했으니까

표현식 사용의 해당 부분을 캡처하지 않으려면?::

String s = "string1, string2, string3";
System.out.println(s.replaceAll("string(?:1|2)", "blah"));

언급URL : https://stackoverflow.com/questions/2031805/java-regular-expression-or-operator

반응형