正則表達式>>>java中匹配一個反斜槓要用四個反斜槓

1.正則表達式中匹配一個反斜槓要用四個反斜槓,爲什麼呢?
我一直以爲匹配一個反斜槓只需要兩個反斜槓,但是java代碼中實際測試被狠狠打臉了,然後就瘋狂百度加測試,最後得出結論是java中匹配一個反斜槓要用四個反斜槓

2.具體原因說明
特別注意: \在Java和正則表達式中都是轉義字符
分析一下“\\\\”,第一個斜槓是轉義符,第二個斜槓是斜槓本身,第三個斜槓是轉義符,第四個斜槓是斜槓本身。

1.字符串裏面表示斜槓需要兩個斜槓如“\\”

2.正則表達式裏的斜槓也需要轉義,是用“\\”標示。

這樣就相對比較好理解

我們先要表示正則表達式裏面的斜槓“\”,然後再用字符串表示出來。而這2個斜槓分別需要一個轉義符,這樣就成了4個斜槓在正則表達式裏面表示一個斜槓。


	public void test() {

        String filterstr=".*[\\\\/:*?\"<>|].*";
        String docsPath="hel\\lo";
        if(docsPath.matches(filterstr)) {
        	System.out.println(docsPath);
        }else {
        	System.out.println("no match");
        }
		
	}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章