<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 1.正則表達式 正則表達式,又稱正規表示法、常規表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE)。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串 ### 2.元字符: | 元字符 | 正則表達式的寫法 | 意義 | |-----|-----|-----| | . | “.” | 任意一個字符 | | ^ | “^Spring” | 以Spring開始的字符 | | $ | “EEEE$” | 匹配行結束符,以”EEEE”結束的字符 | | \d | “\d” | 0-9的任何一個數字 | | \D | “\D” | 任何一個非數字字符 | | \s | “\s” | 空白字符,如”\t”,”\n” | | \S | “\S” | 非空白字符 | | \w | “\w” | 可用作標識符的字符,但不包括“$” | | \W | “\W” | 不可用作標識符的字符 | | \p{Lower} | \p{Lower} | 小定字母a-z | | \p{Upper} | \p{Upper} | 大寫字母A-Z | | \p{ASCII} | \p{ASCII} | ASCII字符 | | \p{Alpha} | \p{Alpha} | 字母字符 | | \p{Digit} | \p{Digit} | 十進制數字,0-9 | | \p{Alnum} | \p{Alnum} | 數字或字母字符 | | \p{Punct} | \p{Punct} | 標點符號:!“#%&()*=- | | \p{Graph} | \p{Graph} | 可見字符:[\p{Alnum}\p{Punct}] | | \p{Print} | \p{Print} | 可打印字符[\p{Graph}\x20] | | \p{Blank} | \p{Blank} | 空格或制表符:[\t] | | \p{Cntrl} | \p{Cntrl} | 控制字符:[\x00-\x1F\x7F] | ### 3.方括號 方括號括起來若干個字符來表示一個元字符,該元字符可代表方括號中的任何一個字符。 reg=“[abc]4”—– 則”a4”,”b4”,”c4”,都是和此正則表達式匹配的字符串 | 方括號例子 | 意義 | |-----|-----| | [^456] | 代表4,5,6之外的任何字符 | | [a-r] | 代表a~r中的任何一個字母 | | [a-Za-Z] | 代表任意一個英文字母 | | [a-e[g-z]] | 代表a~e或g~z中的任意一個字母 | | [a-o&&[def]] | 代表字母d,e,f(交運算) | | [a-o&&[^bc]] | 代表字母a,d(差運算) | ### 4.()–小括號 將 () 之間括起來的表達式定義為“組”(group),并且將匹配這個表達式的字符保存到一個臨時區域,這個元字符在字符串提取的時候非常有用。 ### 5.限定修飾符 使用限定修飾符來限定元字符出現的次數 | 限定修飾符 | 意義 | 示例 | |-----|-----|-----| | ? | 0次或1次 | A? | | * | 0次或多次 | A* | | + | 1次或多次 | A+ | | {n} | 正好出現n次 | A{2} | | {n,} | 至少出現n次 | A{2,} | | {n,m} | 出現n到m次 | A{2,6} | ### 6.幾個樣例 import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; ~~~ public class Regular { //字符串是否是數字 public static String regexIsDigital = “\d+”; //字符串是否是字母 public static String regexIsAlpha =”\p{Alpha}+”; //字符串是否是15位或18位的身體證號碼 public static String regexIsID=”\d{15}|\d{18}”; //字符串是否是JJJ開頭KKK結尾 public static String regexIsJJJStartKKKEnd=”^JJJ.*KKK$”; //字符串是否是區號是3或4位數字-(可有可沒有)號碼任意多少位的數字 public static String regexIsTelePhoneNumber =”[0-9]{3,4}\-?[0-9]+”; //X@X.com.cn public static String regexIsEmail = “\w+@\w+(\.\w{2,3})*\.\w{2,3}”; //字符串是否是漢字 public static String regexIsHanZi=”[\u4e00-\u9fa5]{1,}”; //查找以Java開頭,任意結尾的字符串 public static String regexIsStartJava = “^Java.*”; //以多條件分割字符串時 public static String regexSplit =”[, |]+”; ~~~ ~~~ public static void main(String[] args) { testIsDigit(); testIsAlpha(); testIsID(); testStartEnd(); testIsTelePhoneNum(); testEmailAddre(); testIsHanZi(); testIsStartJava(); testSplit(); testReplace(); testPattern(); } private static void testPattern() { Pattern pattern = Pattern.compile(""); System.out.println(pattern.matches("[0-9]{6}", "200038")); System.out.println(pattern.matches("\\d{6}", "200038")); } private static void testReplace() { Pattern pattern = Pattern.compile("正則表達式"); Matcher matcher = pattern.matcher("正則表達式 Hello World,正則表達式 Hello World"); //替換第一個符合正則的數據 System.out.println(matcher.replaceFirst("Java")); pattern = Pattern.compile("正則表達式"); matcher = pattern.matcher("正則表達式 Hello World,正則表達式 Hello World"); //替換所有符合正則的數據 System.out.println(matcher.replaceAll("Java")); } private static void testSplit() { Pattern pattern = Pattern.compile(regexSplit); String data = "Java Hello World Java,Hello,,World|Sun"; System.out.println(data+" split by:"+regexSplit); String[] strs = pattern.split(data); for (int i=0;i<strs.length;i++) { System.out.println(strs[i]); } } private static void testIsStartJava() { pressInfoByPattern("Java不是人",regexIsStartJava); pressInfoByPattern("dJava不是人",regexIsStartJava); } private static void testIsHanZi() { pressInfo("驗證漢字",regexIsHanZi); } private static void testIsTelePhoneNum() { pressInfo("0733-5544",regexIsTelePhoneNumber); pressInfo("073-566544",regexIsTelePhoneNumber); pressInfo("073566544",regexIsTelePhoneNumber); pressInfo("073--566544",regexIsTelePhoneNumber); } private static void testStartEnd() { pressInfo("JJJKKK",regexIsJJJStartKKKEnd); pressInfo("JJJaaaaKKK",regexIsJJJStartKKKEnd); pressInfo("JJaaaaKKK",regexIsJJJStartKKKEnd); pressInfo("JJJaaaaKK",regexIsJJJStartKKKEnd); } private static void testIsID() { pressInfo("111111111111111",regexIsID); pressInfo("11111111111111",regexIsID); pressInfo("111111111111122221",regexIsID); pressInfo("11111111111112222",regexIsID); } private static void testIsAlpha() { pressInfo("da",regexIsAlpha); pressInfo("d1a",regexIsAlpha); } private static void testIsDigit() { pressInfo("21452",regexIsDigital); pressInfo("21a452",regexIsDigital); pressInfo("021452",regexIsDigital); } private static void testEmailAddre() { pressInfo("aaa@",regexIsEmail); pressInfo("aaaaaaaa",regexIsEmail); pressInfo("11111@11111fffyu.dfg.com",regexIsEmail); } private static void pressInfo(String data,String regex) { if(data.matches(regex)){ System.out.println(data+":is match regex:"+regex); }else{ System.out.println(data+":is not match regex:"+regex); } } private static void pressInfoByPattern(String data,String regex) { Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(data); if(matcher.matches()){ System.out.println(data+":is match regex:"+regex); }else{ System.out.println(data+":is not match regex:"+regex); } } ~~~ } ### 7自己的話 曾經,看到別人能用正則表達式,而自己不會,當時好自卑啊,覺得別人好厲害啊。直到后來,自己坐下來,好好的看了一些正則表達式的資料和例子后,覺得,啊,原來如此。也就是這樣,一點都不復雜啊。絕知此事要躬行,古人的話還是有道理的。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看