# 正規表示式(Regular expression) matches()和find()的用法 [參考網站-正則表示法完整整理參考網站](https://blog.miniasp.com/post/2019/01/02/Common-Regex-patterns-for-Unicode-characters) ```java= //大多數的中文字和難字範圍 String reguC = "^[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF\uE000-\uF848]+$"; //鍵盤上的特殊字元和英文數字空白底線 String reguS = "[\\~\\`\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\_\\+\\=\\{\\[\\}\\]\\\\:\\;\"\'\\<\\,\\>\\.\\/\\w\\s]"; String str = "莊小義"; if(StringUtils.isNotBlank(str) && !Pattern.matches(reguC, str)) { System.out.println("字串長度:"+str.length()); Pattern p = Pattern.compile(reguS); Matcher m = p.matcher(str); boolean errorFlag = false; for(int i=0;i<str.length();i++) { if(m.find()) { errorFlag = true; break; } } if(errorFlag) { System.out.println("沒通過檢查"); } } ``` :::info matches(): 查詢字串的全部來做匹配,全部符合才會回傳true find(): 查詢字串的子字串來作匹配, 子字串有符合就會回傳true ::: ###### `正則表示式`