2012-10-11 3 views
2

\b을 Java Regex에서 단어 분리 문자로 사용하는 데 어려움이 있습니다.Java에서 Word boundry b RegEx

text = "/* sql statement */ INSERT INTO someTable"; 

Pattern.compile("(?i)\binsert\b");없이 경기를

Pattern insPtrn = Pattern.compile("\bINSERT\b");를 찾을 수 없습니다 일치

하지만

Pattern insPtrn = Pattern.compile("INSERT");이 일치

내가 잘못하고있는 중이 야 어떤 생각을 발견 발견?

답변

5

자바에서 정규 표현식을 작성할 때 정규식 \bINSERT\b이 Java 문자열로 "\\bINSERT\\b"이되도록 모든 역 슬래시를 이스케이프해야합니다.

역 슬래시를 이스케이프하지 않으면 문자열 리터럴의 \b이 백 스페이스 문자로 해석됩니다.

2

사용이 대신 : -

당신은 여분의 백 슬래시로 \b을 탈출 할 필요가
Pattern insPtrn = Pattern.compile("\\bINSERT\\b") 

..

관련 문제