2016-12-27 2 views
1

나는 이와 같은 정규식 코드를 가지고있다.정규식과 백 슬래시

public class Main { 

public static void main(String[] args) { 
System.out.println(validateAddress("Test C\O good:product")); 
} 

public static boolean validateAddress(String address) { 
return address.matches("^[a-zA-Z0-9~`[email protected]#$%^&*()_+={|}:;'<,>? -/\"\t\n\\[\\] .]*$"); 
} 
} 

나는 이것을 실행할 때 내식이 \ 문자를 받아들이지 않기 때문에 거짓이된다. \를 포함 시키려했지만 실패했습니다.

\ 정규식에 \ 문자를 포함시키는 방법에 대한 도움을 받으실 수 있습니까?

감사합니다, 케쉬

+2

먼저'에 대해 시도하려는 "테스트 C \\ O 좋은 : 제품"'. 둘째, 백 슬래시와 일치 시키려면 패턴에서''\\\\ "'를 사용하십시오. 그리고 마침내'-'를 벗어나 캐릭터 클래스의 끝에 놓습니다. –

답변

1

첫째, 당신은 문자 그대로 당신이 "\\" (두 개의 백 슬래시)를 사용하는 데 필요한 문자열에서 백 슬래시를 정의하기로 "Test C\\O good:product"에 대해 시도하려는. 둘째, 백 슬래시를 일치 시키려면 패턴에 "\\\\"을 사용하십시오. 마지막으로 -에서 탈출하거나 문자 클래스 끝에 넣으십시오.

Java demo를 참조하십시오

public static void main (String[] args) throws java.lang.Exception 
{ 
    System.out.println(validateAddress("Test C\\O good:product")); 
} 
public static boolean validateAddress(String address) { 
    return address.matches("^[a-zA-Z0-9~`[email protected]#$%^&*()_+={|}:;'<,>?\\\\ /\"\t\n\\[\\] .-]*$"); 
} 
+0

고맙습니다. 그것은 나를 도왔다. –