看板 java 關於我們 聯絡資訊
分別兩個字串,以「請輸入代號」unitcode 中文為搜尋條件 結果跑出不同結果 false true 請問java高手,為什麼第一個判斷的結果,會是false而不是true呢? 是哪裡錯了嗎? String XX = " ▄ █ ▊ ▍ \n請輸入代號"; String X2 = "123請輸入代號123"; System.out.println(XX.matches(".*\u8acb\u8f38\u5165\u4ee3\u865f.*")); System.out.println(X2.matches(".*\u8acb\u8f38\u5165\u4ee3\u865f.*")); //請輸入代號 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.175.188
bitlife:有個 \n 擋在那裏,預設 . 不吃 \n 08/01 16:00
byend:如果要處理 \n,請用\\u000A. EX: (".*\\u000A")是 Ok的 08/01 17:03
byend:如果你無法避免資料中出現 \n, 可以使用下列的regexp 08/01 17:05
byend:"(.|\\u000A)*\u8acb\u8f38\u5165\u4ee3\u865f(.|\\u000A)*" 08/01 17:06
ewn:用(?s).* 讓 . 代表全部就行了 08/01 17:10
gwokae:傳說中的DOTALL flag 08/01 23:01
謝謝 各位大師指導,(.|\\u000A)* 與 (?s).* 都可以執行 ※ 編輯: arliang 來自: 59.120.175.188 (08/03 10:26)