[\u4e00-\u9fa5]+ 比對一個或多個中文
[\u4e00-\u9fa5] 隻比對一個中文
它們并不比對¥%^&*等字元啊,做個簡單的測試就知道了。
import java.util.regex.*;
public class Test1 {
public static void main(String[] args) {
Pattern p =Pattern.compile("[\u4e00-\u9fa5]+");
//下面就是你要比對的字元,如果中文可以測試用p.matcher("中");
Matcher m =p.matcher("%");
System.out.println(m.matches());
}
}
輸出結果是false。
rejson = model.toString();
// 判斷是否存在漢字,如果存在則進行轉換
Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
Matcher m = p.matcher(rejson);
if (m.find()) {
// 對所有/進行轉義
rejson = rejson.replace("/", "\\/");
}