国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java中使用正則表達式的一個簡單例子及常用正則分享

2019-11-26 15:08:47
字體:
來源:轉載
供稿:網友
import java.util.Scanner;   public class regexTest {  // 新建類   public static void main(String[] args){  // 主方法          Scanner sc = new Scanner(System.in); // new Scanner類對象     System.out.println("Please Enter Email:");     String email = sc.nextLine();     System.out.println("Please Enter Mobile:");     String mobile = sc.nextLine();     String Email_regex= "http://w+@//w+//.//w{2,3}";      String Mobile_regex= "^((13[0-9])|(15[0-9])|(18[0-9]))//d{8}";//設定手機號碼正則表達式規則 13*,15*,18*           if(email.matches(Email_regex)){        System.out.println(email + "是個合法的Email Address!");     }     else{        System.out.println(email + "是個非法的Email Address!");      }          if(mobile.matches(Mobile_regex)){      System.out.println(mobile + "是個合法的手機號碼");     }     else{       System.out.println(mobile + "是個非法的手機號碼");     }    }  } 

在程序開發中,難免會遇到需要匹配、查找、替換、判斷字符串的情況發生,而這些情況有時又比較復雜,如果用純編碼方式解決,往往會浪費程序員的時間及精力。因此,學習及使用正則表達式,便成了解決這一矛盾的主要手段。大家都知道,正則表達式是一種可以用于模式匹配和替換的規范,一個正則表達式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)組成的文字模式,它用以描述在查找文字主體時待匹配的一個或多個字符串。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。

自從jdk1.4推出java.util.regex包,就為我們提供了很好的JAVA正則表達式應用平臺。

常見的正則表達式規則

匹配特定數字: ^[1-9]d*$    //匹配正整數 ^-[1-9]d*$   //匹配負整數 ^-?[1-9]d*$   //匹配整數 ^[1-9]d*|0$  //匹配非負整數(正整數 + 0) ^-[1-9]d*|0$   //匹配非正整數(負整數 + 0) ^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮點數 ^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配負浮點數 ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮點數 ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非負浮點數(正浮點數 + 0) ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮點數(負浮點數 + 0) 評注:處理大量數據時有用,具體應用時注意修正  匹配特定字符串: ^[A-Za-z]+$  //匹配由26個英文字母組成的字符串 ^[A-Z]+$  //匹配由26個英文字母的大寫組成的字符串 ^[a-z]+$  //匹配由26個英文字母的小寫組成的字符串 ^[A-Za-z0-9]+$  //匹配由數字和26個英文字母組成的字符串 ^w+$  //匹配由數字、26個英文字母或者下劃線組成的字符串  在使用RegularExpressionValidator驗證控件時的驗證功能及其驗證表達式介紹如下:  只能輸入數字:“^[0-9]*$” 只能輸入n位的數字:“^d{n}$” 只能輸入至少n位數字:“^d{n,}$” 只能輸入m-n位的數字:“^d{m,n}$” 只能輸入零和非零開頭的數字:“^(0|[1-9][0-9]*)$” 只能輸入有兩位小數的正實數:“^[0-9]+(.[0-9]{2})?$” 只能輸入有1-3位小數的正實數:“^[0-9]+(.[0-9]{1,3})?$” 只能輸入非零的正整數:“^+?[1-9][0-9]*$” 只能輸入非零的負整數:“^-[1-9][0-9]*$” 只能輸入長度為3的字符:“^.{3}$” 只能輸入由26個英文字母組成的字符串:“^[A-Za-z]+$” 只能輸入由26個大寫英文字母組成的字符串:“^[A-Z]+$” 只能輸入由26個小寫英文字母組成的字符串:“^[a-z]+$” 只能輸入由數字和26個英文字母組成的字符串:“^[A-Za-z0-9]+$” 只能輸入由數字、26個英文字母或者下劃線組成的字符串:“^w+$” 驗證用戶密碼:“^[a-zA-Z]w{5,17}$”正確格式為:以字母開頭,長度在6-18之間,  只能包含字符、數字和下劃線。 驗證是否含有^%&',;=?$”等字符:“[^%&',;=?$x22]+” 只能輸入漢字:“^[u4e00-u9fa5],{0,}$” 驗證Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$” 驗證InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$” 驗證電話號碼:“^((d{3,4})|d{3,4}-)?d{7,8}$”  正確格式為:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,  “XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。 驗證身份證號(15位或18位數字):“^d{15}|d{}18$” 驗證一年的12個月:“^(0?[1-9]|1[0-2])$”正確格式為:“01”-“09”和“1”“12” 驗證一個月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”  正確格式為:“01”“09”和“1”“31”。  匹配中文字符的正則表達式: [u4e00-u9fa5] 匹配雙字節字符(包括漢字在內):[^x00-xff] 匹配空行的正則表達式:n[s| ]*r 匹配HTML標記的正則表達式:/< (.*)>.*|< (.*) />/ 匹配首尾空格的正則表達式:(^s*)|(s*$) 匹配Email地址的正則表達式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 匹配網址URL的正則表達式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)? 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玉门市| 樟树市| 克东县| 察哈| 丰县| 安西县| 沭阳县| 临夏市| 南汇区| 平乐县| 保亭| 吉林省| 昌邑市| 凤山县| 来宾市| 泰顺县| 永宁县| 凤翔县| 许昌市| 佛学| 大埔县| 彰武县| 安岳县| 三门县| 肥东县| 咸宁市| 山东| 子洲县| 通榆县| 东方市| 霸州市| 屏山县| 手游| 达日县| 德令哈市| 铅山县| 多伦县| 怀宁县| 海南省| 新田县| 宜君县|