'+', '*', '(', ')'를 사용하면 메타 문자가 매달려있는 오류가 계속 발생합니다.메타 문자 매달기
나는 이미 정규식에서 그 문자를 이스케이프 처리했지만 오류가 발생합니다. 이것은 내가 무엇을 가지고 :
"[-\\+\\*/%\\(\\)]"
업데이트 :
테스트 : 다른 클래스에서
String input = "+";
String vals = new WNScanner(input).getNextToken(); //**********
System.out.println("token: " + vals);
System.out.println(vals.matches("[-+*/%()]"));
:이 라인에
...
String expression = input;
...
public String getNextToken() {
String[] token = {""};
if (expression.length() == 0)
return "";
token = expression.split("\\s");
recentToken = token[0];
expression = expression.replaceFirst(token[0], ""); //*************
expression = expression.trim();
return token[0];
}
*가 예외 .
없음 "[]"의 내 탈출 슬래시가 필요 없다 (단, "-"는 "[]"의 내측 첫 문자이어야 함). –
@ShadowCreeper 오. 하지만 백 슬래시를 포함하지 않으면 여전히 오류가 발생합니다. 어떤 생각? – user2430361
질문에 오류 메시지가 표시된 시도 (코드)를 게시하십시오 (간단한 클래스 또는 단일 기능으로 구분할 수 있음). –