your programing

Java 정규식 OR 연산자

lovepro 2020. 10. 14. 08:16
반응형

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

"문자열 1"또는 "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

반응형