Java가 일관성없는 정규식 패턴을 처리하는 방법은 무엇입니까? 나는 이것을 시도하고있다 :Java의 일치하지 않는 정규식 문자 클래스
Pattern p = Pattern.compile("[a-d[m-p][^d][m]]");
Matcher m = p.matcher("d");
System.out.println(m.matches());
나는 사실을 알고있다. 그러나, 내 문자 클래스에 [^ d]가 포함되어 있으므로 정규식에 따라 일치하지 않아야합니다. 그러나 d도 패턴 (a-d)에 포함되어 있기 때문에 일치하는 결과는 양수입니다. 그렇다면 패턴 분석은 어떻게 이루어 집니까? 그것이 예외를 던지면 더 좋지 않을까요?
왜 일관성이 없습니까? Java에서는 꽤 괜찮습니다. –
패턴에 문자 "d"를 포함시키고 제외 시켰기 때문에 일관성이 없습니다. – randombee
'-verbose' 옵션이있는 "똑똑한"컴파일러가''[m] 옵션에 불필요한 것을 알려줄지라도 [^ d]는 효과가 없습니다. "&& [^ d]"? "가장 좋은 점은 ** FindBugs **와 같은 도구로 그러한 결함을 표시하는 것입니다. –