『壹』 java 字元串 轉義
public String str = "我是字元串\\n";
在C#中 @ 表示原意字元串,而在JAVA中則沒有。
例如:
在C#中可以這樣定義字元串。
string text = @"My pensive SARA ! thy soft cheek reclined
Thus on mine arm, most soothing sweet it is
To sit beside our Cot,...";
但是在JAVA中,這就會出錯,你必須使用「+」符號將兩行字元連接起來。
『貳』 java正則 /\t/ new RegExp("\\t") 為什麼要雙轉義
因為java的正則表達式在是字元串里的,\是java字元串中的轉義符。\也是正則表達式中的轉義符。那麼只加一個\的話,只能說明在字元串中轉義符,而java需要進一步把普通字元串中的\變成正則表達式中的\,像是更深一則轉化的意思,這樣\\以後的意思是正則表達式中的轉義符(\)。
要把\把變成正則表達式中的\,所以\\是轉義了一個\
我的回答簡而言之,在java中(別的語言有別的規矩),正則表達式字元串,和普通字串是兩個東西。
『叄』 java正則表達式式中的轉義符問題
因為正則表達式的\是轉義符
同時\有事java的字元串的轉義符
我們換個說法
假設正則比表達式裡面用$作為轉義符,你要查找\就要寫為$\
而java字元串裡面,\是轉義符,所以需要寫成$\\
我們假設後面轉義好的\\為a,則是$a
再把$轉化為真實的\,同時java裡面\需要轉義,所以是\\a
把a替換回去就是\\\\
只寫2的話,是轉義符後面有需要轉義的東西,所以出錯
『肆』 java 正則匹配修改字元串
在java裡面,'\'被當作轉義字元,'\r'、'\n'分別表示回車換行,'\t'是製表符,這些樓主應當知道吧。我不明白樓主為何要在哪裡加\r\n,是想要輸出換行,還是想就顯示成\r\n。至於這里為什麼會出現這種結果,我猜測可能是Pattern類匹配時是按行來的,具體是不是這樣,樓主可以自己用eclipse工具查看一下compile的源碼。我這里現在沒有工具,所以不能替你查了。compile("(<span.*?>)(.*)(</span>)",Pattern.CASE_INSENSITIVE);我認為應當有一個類似Pattern.CASE_INSENSITIVE的公有靜態參數可以控制不處理換行符的,樓主自己看看。
『伍』 JAVA中正則雙斜線和單斜線轉義的問題
在java裡面反斜桿是轉義的意思,在正則表達式裡面反斜桿也是轉義的意思。java裡面2個反斜桿,實際輸出的是一個反斜桿。你那個正則表達式實際的驗證規則是 \[(.*)\] ".*"。由於[]中括弧是正則表達式裡面的關鍵字,所以要轉義。所以你最終匹配的樣式是[(.*)] ".*"這個樣子的。
『陸』 java正則,轉義的意思,不太理解
轉義就是把特殊字元轉義為普通字元
『柒』 請教java正則表達式的轉義字元問題
1 /**
2 * 轉義正則特殊字元 ($()*+.[]?\^{}
3 * \\需要第一個替換,否則replace方法替換時會有邏輯bug
4 */
5 public static String makeQueryStringAllRegExp(String str) {
6 if(StringUtils.isBlank(str)){
7 return str;
8 }
9
10 return str.replace("\\", "\\\\").replace("*", "\\*")
11 .replace("+", "\\+").replace("|", "\\|")
12 .replace("{", "\\{").replace("}", "\\}")
13 .replace("(", "\\(").replace(")", "\\)")
14 .replace("^", "\\^").replace("$", "\\$")
15 .replace("[", "\\[").replace("]", "\\]")
16 .replace("?", "\\?").replace(",", "\\,")
17 .replace(".", "\\.").replace("&", "\\&");
『捌』 java 正則表達式\\d什麼意思
實際上是\d,因為Java中\是轉義字元前導符,所以在字元串中書寫\必須得寫成\\才能正確識別,所以正則表達式中的\d就表示為\\d的。至於正則表達式各捕獲的含義,規則很多,詳情網上可以搜,Java API文檔也能查到,從String的match方法那裡找。\d表示數字
『玖』 JAVA中的正則表達式「\\[([^\\]]+)\\]」這個表示什麼意思兩個轉義字元是為了表達什麼
在正則中括弧表示字元集,要表示中括弧字元必須轉義
整個正則匹配 中括弧中的內容
開頭的\\[ 匹配" [ "字元
尾部的\\]匹配 「]"字元
中間的[([^\\]]+),表示所有非"]"字元組成的字元串
『拾』 java正則表達式當中\d中的\是轉義的意思嗎
正則表達式中「[」這樣的字元有特殊的意義,所以需要寫成「\[」。但是「\」本身也是具有特殊意義的轉義字元。
所以「\[」就需要寫成「\\[」。需要先對「\」進行一次轉義