久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

JAVA中正則表達式小總結(整理)

]js正則表達式基本語法(精粹):  //www.jb51.net/article/72044.htm 

     許多語言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正則表達式處理文本,一些文本編輯器用正則表達式實現高級“搜索-替換”功能。所以JAVA語言也不例外。正則表達式已經超出了某種語言或某個系統的局限,成為被人們廣為使用的工具,我們完全可以用它來解決實際開發中碰到的一些實際的問題。

       在JDK1.3及之前的JDK版本中并沒有包含正則表達式的類,如果要在Java中使用正則表達式必須使用第三方提供的正則表達式庫,最有名的就是Jakarta-ORO,Jakarta-ORO庫以前叫做OROMatcher,是Daniel Savarese贈送給Jakarta Project的一個開源包。使用的時候首先要創建一個實現了PatternCompiler接口的實例變量以創建一個“模式編譯器”,Jakarta-ORO中實現了這個接口的類就是Perl5Compiler,這個類做到了與Perl5的正則表達式完全兼容。Jakarta-ORO的使用是非常簡便的,而且效率非常高,支持的正則表達式語法也是非常全的,唯一的缺點就是它不是JDK中的標準包。從JDK1.4開始提供了支持正則表達式API,它們位于java.util.regex包中,由于已經有了標準API,所以本書將會用java.util.regex進行正則表達式的相關操作。

一、正則表達式基礎知識

1.1 句點符號

       假設你在玩英文拼字游戲,想要找出三個字母的單詞,而且這些單詞必須以“t”字母開頭,以“n”字母結束。另外,假設有一本英文字典,你可以用正則表達式搜索它的全部內容。要構造出這個正則表達式,你可以使用一個通配符――句點符號“.”。這樣,完整的表達式就是“t.n”,它匹配“tan”、“ten”、“tin”和“ton”,還匹配“t#n”、“tpn”甚至“t n”,還有其他許多無意義的組合。這是因為句點符號匹配所有字符,包括空格、Tab字符甚至換行符:

 1.2 方括號符號

為了解決句點符號匹配范圍過于廣泛這一問題,你可以在方括號(“[]”)里面指定看來有意義的字符。此時,只有方括號里面指定的字符才參與匹配。也就是說,正則表達式“t[aeio]n”只匹配“tan”、“Ten”、“tin”和“ton”。但“Toon”不匹配,因為在方括號之內你只能匹配單

個字符:

1.3 “或”符號

      如果除了上面匹配的所有單詞之外,你還想要匹配“toon”,那么,你可以使用“|”操作符。“|”操作符的基本意義就是“或”運算。要匹配“toon”,使用“t(a|e|i|o|oo)n”正則表達式。這里不能使用方擴號,因為方括號只允許匹配單個字符;這里必須使用圓括號“()”。圓括號還可以用來分組。

1.4 表示匹配次數的符號

下表顯示了正則表達式的語法:

表 1.1 正則表達式語法

JAVA中正則表達式小總結(整理)

    假設我們要在文本文件中搜索美國的社會安全號碼。這個號碼的格式是999-99-9999。用來匹配它的正則表達式如圖一所示。在正則表達式中,連字符(“-”)有著特殊的意義,它表示一個范圍,比如從0到9。因此,匹配社會安全號碼中的連字符號時,它的前面要加上一個轉義字符“/”。

      假設進行搜索的時候,你希望連字符號可以出現,也可以不出現――即,999-99-9999和999999999都屬于正確的格式。這時,你可以在連字符號后面加上“?”數量限定符號。

      美國汽車牌照的一種格式是四個數字加上二個字母。它的正則表達式前面是數字部分“[0-9]{4}”,再加上字母部分“[A-Z]{2}”。

1.5 “否”符號

      “^”符號稱為“否”符號。如果用在方括號內,“^”表示不想要匹配的字符。例如,圖四的正則表達式匹配所有單詞,但以“X”字母開頭的單詞除外。

1.6 圓括號和空白符號

     “/s”符號是空白符號,匹配所有的空白字符,包括Tab字符。如果字符串正確匹配,接下來如何提取出月份部分呢?只需在月份周圍加上一個圓括號創建一個組,然后用ORO API提取出它的值。

1.7 其它符號

     為簡便起見,你可以使用一些為常見正則表達式創建的快捷符號。如以下所示:

/t:制表符,等同于/u0009
/n:換行符,等同于/u000A
/d:代表一個數字,等同于[0-9]
/D:代表非數字,等同于[^0-9]
/s:代表換行符、Tab制表符等空白字符
/S:代表非空白字符
/w:字母字符,等同于[a-zA-Z_0-9]
/W:非字母字符,等同于[^/w]

例如,在前面社會安全號碼的例子中,所有出現“[0-9]”的地方我們都可以使用“/d”。

以下是我整理出來的程序:供參考:

  package org.luosijin.test;   import java.util.regex.Matcher;   import java.util.regex.Pattern;   /**    * 正則表達式    * @version V.    * @author 羅嗣金    * @date --    */   public class Regex {    /**    * @param args    * @author 羅嗣金    * @date -- 下午::    */    public static void main(String[] args) {    Pattern pattern = Pattern.compile("b*g");    Matcher matcher = pattern.matcher("bbg");    System.out.println(matcher.matches());    System.out.println(pattern.matches("b*g","bbg"));    //驗證郵政編碼    System.out.println(pattern.matches("{}", ""));    System.out.println(pattern.matches("http://d{}", ""));    //驗證電話號碼    System.out.println(pattern.matches("{,}//-?+", ""));    getDate("Nov ,");    charReplace();    //驗證身份證:判斷一個字符串是不是身份證號碼,即是否是或位數字。    System.out.println(pattern.matches("^//d{}|//d{}$", ""));    getString("D:/dir/test.txt");    getChinese("welcome to china,江西奉新,welcome,你!");    validateEmail("luosijin@.com");    }    /**    * 日期提取:提取出月份來    * @param str    * @author 羅嗣金    * @date -- 下午::    */    public static void getDate(String str){    String regEx="([a-zA-Z]+)|//s+{,},//s*{}";    Pattern pattern = Pattern.compile(regEx);    Matcher matcher = pattern.matcher(str);    if(!matcher.find()){     System.out.println("日期格式錯誤!");     return;    }    System.out.println(matcher.group()); //分組的索引值是從開始的,所以取第一個分組的方法是m.group()而不是m.group()。    }    /**    * 字符替換:本實例為將一個字符串中所有包含一個或多個連續的“a”的地方都替換成“A”。    *    * @author 羅嗣金    * @date -- 上午::    */    public static void charReplace(){    String regex = "a+";    Pattern pattern = Pattern.compile(regex);    Matcher matcher = pattern.matcher("okaaaa LetmeAseeaaa aa booa");    String s = matcher.replaceAll("A");    System.out.println(s);    }    /**    * 字符串提取    * @param str    * @author 羅嗣金    * @date -- 上午::    */    public static void getString(String str){    String regex = ".+/(.+)$";    Pattern pattern = Pattern.compile(regex);    Matcher matcher = pattern.matcher(str);    if(!matcher.find()){     System.out.println("文件路徑格式不正確!");     return;    }    System.out.println(matcher.group());    }    /**    * 中文提取    * @param str    * @author 羅嗣金    * @date -- 上午::    */    public static void getChinese(String str){    String regex = "[//uE-//uFFF]+";//[//uE-//uFFF]為漢字    Pattern pattern = Pattern.compile(regex);    Matcher matcher = pattern.matcher(str);    StringBuffer sb = new StringBuffer();    while(matcher.find()){     sb.append(matcher.group());    }    System.out.println(sb);    }    /**    * 驗證Email    * @param email    * @author 羅嗣金    * @date -- 上午::    */    public static void validateEmail(String email){    String regex = "[-a-zA-Z]+@[-a-zA-Z]+//.[-a-zA-Z]+";    Pattern pattern = Pattern.compile(regex);    Matcher matcher = pattern.matcher(email);    if(matcher.matches()){     System.out.println("這是合法的Email");    }else{     System.out.println("這是非法的Email");    }    }   }

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
国产一区清纯| 石原莉奈在线亚洲二区| 国产精品调教| 岛国av在线播放| 久久伊人久久| 在线看片日韩| 蜜桃视频一区二区三区| 亚洲综合精品| 国产亚洲高清视频| 亚洲少妇自拍| 日韩在线麻豆| 久久精品99国产精品日本| 国产日韩欧美一区| 精品久久精品| se01亚洲视频| 综合激情五月婷婷| 国产欧美自拍| 日韩动漫一区| 国产精品一区二区三区av麻| 激情久久99| 欧美特黄一级大片| 亚洲深深色噜噜狠狠爱网站 | 成人日韩精品| 国产精品av久久久久久麻豆网| 伊人久久成人| 国产精品亚洲成在人线| 亚洲午夜天堂| 天堂俺去俺来也www久久婷婷| 日韩**一区毛片| 日韩精品一区二区三区免费观影| 美日韩精品视频| 福利在线一区| 视频一区二区三区在线| 国内精品美女在线观看| 视频一区视频二区中文字幕| 一区免费在线| 国产欧美另类| 国产色播av在线| 久久久久久免费视频| 久久99国产精品视频| 日韩a一区二区| 日韩中文字幕一区二区三区| 亚洲女同av| 久久午夜精品| 激情不卡一区二区三区视频在线| 国精品一区二区三区| 久久99性xxx老妇胖精品| 免费在线视频一区| 国产日韩一区二区三免费高清| 国产欧美午夜| 99国内精品| 色天使综合视频| 国产成人免费| 国产精品毛片久久久| 综合色就爱涩涩涩综合婷婷| 欧美日韩国产一区二区三区不卡| 美女高潮久久久| 国产日韩高清一区二区三区在线| 亚洲91久久| 日韩av免费| 99视频精品全部免费在线视频| 精品一区二区三区在线观看视频| 亚洲精品国产精品粉嫩| 久久亚洲国产| 欧美精品一区二区三区精品| 日韩国产一区二区| 久久精品72免费观看| 亚洲精品无吗| 午夜久久av| 欧美日韩 国产精品| 涩涩涩久久久成人精品| 亚洲毛片在线免费| 日韩视频1区| 亚洲一区二区日韩| 中文字幕免费精品| 性欧美69xoxoxoxo| 私拍精品福利视频在线一区| 在线日韩成人| 国产麻豆精品| 国产一区二区亚洲| 不卡一区2区| 日本亚洲三级在线| 精品女同一区二区三区在线观看| 国产伊人精品| 国产精品视频一区二区三区四蜜臂 | 老色鬼久久亚洲一区二区| 欧美精品一区二区久久| 日韩av中文字幕一区| 国产福利亚洲| 亚洲成人va| 欧美午夜精品一区二区三区电影| 国产精品一区二区三区www| 国产极品模特精品一二| 国产欧美日本| 欧美好骚综合网| 黄色网一区二区| 日韩精品欧美激情一区二区| 老鸭窝毛片一区二区三区| 91精品二区| 亚洲精品伦理| 九九九精品视频| 亚洲青青久久| 亚洲伦乱视频| 国产亚洲久久| 国产激情欧美| 久久一区精品| 99久久夜色精品国产亚洲1000部| 91精品国产91久久久久久黑人| 久久裸体视频| 欧美日韩精品免费观看视完整| 欧美 日韩 国产一区二区在线视频| 免费在线亚洲欧美| 国产精品一区二区精品| 欧美天堂一区| 电影亚洲精品噜噜在线观看| 蜜臀精品一区二区三区在线观看 | 一区二区三区国产在线| 99国产精品自拍| 九一成人免费视频| 日韩手机在线| 欧美 日韩 国产一区二区在线视频| 99精品视频在线观看免费播放| 中文字幕亚洲精品乱码| 精品少妇av| 国产美女撒尿一区二区| 成人午夜国产| 日本欧美一区| 国产成人免费| 亚洲欧美日韩一区在线观看| 日本精品另类| 91综合视频| 视频一区在线视频| 高清不卡亚洲| 激情综合五月| 久久伊人久久| 久久69成人| 国产福利一区二区三区在线播放| 在线一区欧美| 欧美精品一区二区久久| 六月天综合网| 欧美激情另类| 国产毛片久久久| 国产亚洲在线观看| 欧美国产美女| 国产白浆在线免费观看| 日本成人在线一区| 极品日韩av| 国产一区2区| 色综合视频一区二区三区日韩 | 国产综合亚洲精品一区二| 99国产精品| 久久一区二区中文字幕| 精品国产一区二区三区av片| 日韩精品一级| 久久激情五月婷婷| 日本视频一区二区| 奇米色欧美一区二区三区| 国产精品亚洲成在人线| 久久精品999| 欧美在线观看天堂一区二区三区| 国产精品视区| 亚洲精品成人一区| 日本精品国产| 久久狠狠久久| 日韩精品一区二区三区中文| 日韩欧美精品一区二区综合视频| 国产精品三p一区二区| 欧美日韩免费看片| 麻豆视频久久| 激情久久99| 日本黄色精品| 91亚洲国产| 蜜臀av亚洲一区中文字幕| 日本一区二区高清不卡| 国产精品一区二区三区www| 日本不卡高清| 91欧美极品| 成人福利av| 快she精品国产999| 日韩av在线播放中文字幕| 亚洲精品在线二区| 视频在线观看国产精品| 日本高清久久| 国产一区二区三区不卡视频网站| 高清不卡亚洲| 日韩av网站在线免费观看| 日韩精品视频在线看| 日韩国产欧美一区二区三区| 成人片免费看| 亚洲欧美网站| 高清日韩欧美| 国产欧美自拍| 成人国产精品久久| 色爱av综合网| 一区二区精彩视频| 精品视频自拍| 国产精品一区二区av日韩在线| 国产视频久久| 毛片在线网站| 久久最新视频|