동일한 정규식이 쉘에서 작동하는 동안 Java의 정규식이 작동하지 않음

Praxnet

모두 :variable(로 시작하는 단어 :)를 ${variable}$.

예를 들면

  • :aks_num${aks_num}$

  • :brn_num${brn_num}$

다음은 작동하지 않는 내 코드입니다.

public static void main(String[] argv) throws Exception 
{
    CharSequence chSeq = "AND ((:aks_num = -1) OR (aks_num = :aks_num AND ((:brn_num = -1) OR (brn_num = :brn_num))))";

    // replaceAll also not working
    //String s = chSeq.replaceAll(":\\([a-z_]*\\)","\\${ $1 \\}$");

    Pattern p = Pattern.compile(":\\([a-z_]*\\)");
    Matcher m = p.matcher(chSeq);

    if (m.find()) {
         System.out.println("Found value: " + m.group(0) );
         System.out.println("Found value: " + m.group(1) );
         System.out.println("Found value: " + m.group(2) );
      } else {
         System.out.println("NO MATCH");
      }
}

쉘 스크립트에서 다음 정규식은 완벽하게 작동합니다.

s/:\([a-z_]*\)/${\1}$/g
Arnaud Denoyelle

:\\([a-z_]*\\)(이스케이프 된 괄호 포함)은 :(aks_num). 분명히 입력 문자열에는 그러한 표현이 없습니다. 그것이 일치하는 것이없는 이유를 설명합니다.

대신 일부 변수를 캡처하기 위해 괄호를 사용하려는 경우 괄호를 이스케이프하면 안됩니다.

예 :

CharSequence chSeq = "AND ((:aks_num = -1) OR (aks_num = :aks_num AND ((:brn_num = -1) OR (brn_num = :brn_num))))";
Pattern p = Pattern.compile(":([a-z_]*)");
Matcher m = p.matcher(chSeq);

while (m.find()) {
  System.out.println("Found value: " + m.group(0)+". Captured : "+m.group(1));
}

산출:

Found value: :aks_num. Captured : aks_num
Found value: :aks_num. Captured : aks_num
Found value: :brn_num. Captured : brn_num
Found value: :brn_num. Captured : brn_num

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

내 정규식이 Java에서 작동하지 않는 이유

분류에서Dev

PHP 정규식이 작동하지 않음, C #에서 작동

분류에서Dev

Java에서 작동하지 않는 정규식 작동

분류에서Dev

이 정규식이 R에서 작동하지 않는 이유

분류에서Dev

if 문에서 정규식이 작동하지 않음

분류에서Dev

PHP에서 정규식이 작동하지 않음

분류에서Dev

URL의 정규식이 작동하지 않음

분류에서Dev

Java 정규식 패턴이 의도 한대로 작동하지 않음

분류에서Dev

Firefox에서 작동하지 않는 부정적 lookbehind 정규식의 대안

분류에서Dev

Firefox에서 작동하지 않는 부정적 lookbehind 정규식의 대안

분류에서Dev

템플릿에 대한 정규식 날짜 형식이 작동하지 않음

분류에서Dev

가능한 값의 피연산자 그룹에 대해 Java 정규식이 작동하지 않음

분류에서Dev

Java 정규식에서 작동하지 않는 끝 줄 문자

분류에서Dev

내 메모장에서 일부 정규 표현식이 작동하지 않음 ++

분류에서Dev

asp.net (.aspx 페이지)에서 정규식이 작동하지 않음

분류에서Dev

sed의 정규식이 PCRE 에서처럼 작동하지 않습니다.

분류에서Dev

ZipCode에서 정규식이 작동하지 않습니다.

분류에서Dev

ZipCode에서 정규식이 작동하지 않습니다.

분류에서Dev

정규식이 phonegap에서 작동하지 않습니다.

분류에서Dev

.Net에서 정규식이 작동하지 않습니다.

분류에서Dev

정규식이 mvc에서 작동하지 않습니다.

분류에서Dev

zul -ZK에서 정규식이 작동하지 않습니다.

분류에서Dev

Perl의 파일 작업에 대한 정규식이 작동하지 않습니다.

분류에서Dev

이 특정 경우에 내 정규식이 작동하지 않는 이유

분류에서Dev

^ 0 * 정규 표현식이 작동하지 않습니다. Java

분류에서Dev

간단한 정규식이 작동하지 않음

분류에서Dev

경로의 정규식이 작동하지 않습니다.

분류에서Dev

.htaccess의 정규식이 작동하지 않습니다.

분류에서Dev

Tcl의 정규식이 작동하지 않습니다.

Related 관련 기사

  1. 1

    내 정규식이 Java에서 작동하지 않는 이유

  2. 2

    PHP 정규식이 작동하지 않음, C #에서 작동

  3. 3

    Java에서 작동하지 않는 정규식 작동

  4. 4

    이 정규식이 R에서 작동하지 않는 이유

  5. 5

    if 문에서 정규식이 작동하지 않음

  6. 6

    PHP에서 정규식이 작동하지 않음

  7. 7

    URL의 정규식이 작동하지 않음

  8. 8

    Java 정규식 패턴이 의도 한대로 작동하지 않음

  9. 9

    Firefox에서 작동하지 않는 부정적 lookbehind 정규식의 대안

  10. 10

    Firefox에서 작동하지 않는 부정적 lookbehind 정규식의 대안

  11. 11

    템플릿에 대한 정규식 날짜 형식이 작동하지 않음

  12. 12

    가능한 값의 피연산자 그룹에 대해 Java 정규식이 작동하지 않음

  13. 13

    Java 정규식에서 작동하지 않는 끝 줄 문자

  14. 14

    내 메모장에서 일부 정규 표현식이 작동하지 않음 ++

  15. 15

    asp.net (.aspx 페이지)에서 정규식이 작동하지 않음

  16. 16

    sed의 정규식이 PCRE 에서처럼 작동하지 않습니다.

  17. 17

    ZipCode에서 정규식이 작동하지 않습니다.

  18. 18

    ZipCode에서 정규식이 작동하지 않습니다.

  19. 19

    정규식이 phonegap에서 작동하지 않습니다.

  20. 20

    .Net에서 정규식이 작동하지 않습니다.

  21. 21

    정규식이 mvc에서 작동하지 않습니다.

  22. 22

    zul -ZK에서 정규식이 작동하지 않습니다.

  23. 23

    Perl의 파일 작업에 대한 정규식이 작동하지 않습니다.

  24. 24

    이 특정 경우에 내 정규식이 작동하지 않는 이유

  25. 25

    ^ 0 * 정규 표현식이 작동하지 않습니다. Java

  26. 26

    간단한 정규식이 작동하지 않음

  27. 27

    경로의 정규식이 작동하지 않습니다.

  28. 28

    .htaccess의 정규식이 작동하지 않습니다.

  29. 29

    Tcl의 정규식이 작동하지 않습니다.

뜨겁다태그

보관