JAVA 正則表達式、漢字正則、 java正則代碼


轉自於:http://blog.csdn.net/q326527970/article/details/7513974

 

(一)字母、數字、下划線、漢字正則表達式

1. 只有字母、數字和下划線且不能以下划線開頭和結尾的正則表達式:^(?!_)(?!.*?_$)[a-zA-Z0-9_]+$  

    只有字母和數字的: ^[a-zA-Z0-9_]+$  

2. 至少一個漢字、數字、字母、下划線: "[a-zA-Z0-9_\u4e00-\u9fa5]+"        

3. 至少一個漢字的正則表達式:"^[\u4e00-\u9fa5]" 

4. 最多10個漢字: ValidationExpression="^[\u4e00-\u9fa5]{0,10}" 

5. 只含有漢字、數字、字母、下划線不能以下划線開頭和結尾:^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$  

    解釋:  

    ^                          與字符串開始的地方匹配  

         (?!_)                  不能以_開頭  

         (?!.*?_$)             不能以_結尾  

         [a-zA-Z0-9_\u4e00-\u9fa5]+    至少一個漢字、數字、字母、下划線  

         $                 與字符串結束的地方匹配  

6.一個正則表達式,只含有漢字、數字、字母、下划線不能以下划線開頭和結尾:  

    ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$  

    解釋:  

    ^                   與字符串開始的地方匹配  

    (?!_)                不能以_開頭  

    (?!.*?_$)               不能以_結尾  

    [a-zA-Z0-9_\u4e00-\u9fa5]+    至少一個漢字、數字、字母、下划線  

    $                 與字符串結束的地方匹配  

    放在程序里前面加@,否則需要\\進行轉義 @"^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$" 

    (或者:@"^(?!_)\w*(?<!_)$"     或者   @" ^[\u4E00-\u9FA50-9a-zA-Z_]+$ "   )  

7、只含有漢字、數字、字母、下划線,下划線位置不限:  

     ^[a-zA-Z0-9_\u4e00-\u9fa5]+$  

8、由數字、26個英文字母或者下划線組成的字符串  

   ^\w+$  

9、2~4個漢字  

   @"^[\u4E00-\u9FA5]{2,4}$";  

 

(二) 整數與浮點數

^[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)

 

E-Mail正則表達式:  

email正則表達式:兩種方式都可以  

    (1) \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*  

    (2) ^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*((\\.[A-Za-z]{2,}){1}$)  

 

國際域名格式如下:       

域名由各國文字的特定字符集、英文字母、數字及“-”(即連字符或減號)任意組合而成,    但開頭及結尾均不能含有“-”,“-”不能連續出現    。    域名中字母不分大小寫。域名最長可達60個字節(包括后綴.com、.net、.org等)。             

   /^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i;

  解釋:    

   /內容/i    構成一個不區分大小寫的正則表達式;     

   ^            匹配開始     

   $          匹配結束     

   [a-z]        E-Mail前綴必需是一個英文字母開頭     

   ([a-z0-9]*[-_]?[a-z0-9]+)*    和_a_2、aaa11、_1_a_2匹配,和a1_、aaff_33a_、a__aa不匹配,如果是空字符,也是匹配的,*表示0個或者多個。     

   *        表示0個或多個前面的字符.     

   [a-z0-9]*         匹配0個或多個英文字母或者數字     

   [-_]?         匹配0個或1“-”,因為“-”不能連續出現     

   [a-z0-9]+      匹配1個或多個英文字母或者數字,因為“-”不能做為結尾     

   @          必需有個有@     

   ([a-z0-9]*[-_]?[a-z0-9]+)+    見上面([a-z0-9]*[-_]?[a-z0-9]+)*解釋,但是不能為空,+表示一個或者為多個。     

   [\.]          將特殊字符(.)當成普通字符     

   [a-z]{2,3}      匹配2個至3個英文字母,一般為com或者net等.     

   ([\.][a-z]{2})?    匹配0個或者1個[\.][a-z]{2}(比如.cn等)    我不知道一般.com.cn最后部份是不是都是兩位的,如果不是請修改{2}為{起始字數,結束字數}   

 
        

 

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、  

public   bool RegexName(string str)  

{  

     bool flag=Regex.IsMatch(str,@"^[a-zA-Z0-9_\u4e00-\u9fa5]+$");  

     return   flag;  

}  

 

Regex    reg=new    Regex("^[a-zA-Z_0-9]+$");     

if(reg.IsMatch(s))     

{     

     \\符合規則     

}     

else     

{     

     \\存在非法字符     

 }

 

、、、、、、、、、、、、、、、、、、、、、、、、

import java.util.regex.Matcher;
import java.util.regex.Pattern;

 

public List<Map<String, String>> getUser(String deptId) {

  Pattern pattern = Pattern.compile("^[a-zA-Z0-9_]+$");

  Matcher matcher = pattern.matcher(deptId);

  if (matcher.find()) {

    //如果匹配

  }else{

    //不匹配

  }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM