读书人

JAVA 正则表述示实例 转

发布时间: 2012-09-13 09:51:52 作者: rapoo

JAVA 正则表达示实例 转
1. 用户名正则表达式模式

^[a-z0-9_-]{3,15}$
^                         # 行开始  [a-z0-9_-]              # 匹配列表中的字符,a-z,09,下划线,连字符            {3,15}        # 长度至少3个字符,最大长度为15$                         # 行结束
2. 密码正则表达式模式
((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})
(                        # 组开始    (?=.*\d)             # 必须包含一个数字 0-9    (?=.*[a-z])          # 必须包含一个小写字符    (?=.*[A-Z])          # 必须包含一个大写字符    (?=.*[@#$%])         # 必须包含一个列表中的特殊字符"@#$%"                .        # 检查所有字符串与前面的条件的匹配                 {6,20}  # 长度至少为6个字符,最大长度为20)                        # 组结束
3. 16进制颜色代码正则表达式模式
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
^                       # 行开始 #                      #   必须包含一个"#"符号  (                     #   组#1开始   [A-Fa-f0-9]{6}       #     列表中的任意字符串,长度为6   |                    #     ..或者   [A-Fa-f0-9]{3}       #     列表中的任意字符串,长度为3  )                     #   组#1结束$                       # 行结束
4. Email 正则表达式模式
^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$
^                            # 行开始  [_A-Za-z0-9-]+             #   必须以中括号中的字符为起始字符[],必须包含一个或多个(+)  (                          #   组#1开始    \\.[_A-Za-z0-9-]+        #     接下来是一个点"."和中括号内的字符[],必须包含一个或者多个(+)  )*                         #   组#1结束, 这个组是可选的(*)    @                        #     必须包含一个"@"符号     [A-Za-z0-9]+            #       接下来是中括号内的字符[],必须包含一个或者多个(+)      (                      #         组 #2开始  一级TLD检查       \\.[A-Za-z0-9]+       #           接下来是一个点"."和中括号内的字符[],必须包含一个或者多个(+)      )*                     #         组#2结束,这个组是可选的(*)      (                      #         组#3开始  二级TLD检查       \\.[A-Za-z]{2,}       #           接下来是一个点"."和中括号内的字符[], 最小长度为2      )                      #         组#3结束$                            # 行结束
5. 图像文件扩展名正则表达式模式
([^\s]+(\.(?i)(jpg|png|gif|bmp))$)
(                         # 组#1开始 [^\s]+                   #   必须包含一个或更多的任意字符(除了空格)       (                  #     组#2开始        \.                #       接下来是一个点"."         (?i)             #       忽略后边字符的大小写检查             (            #         组#3开始              jpg         #           包含字符"jpg"              |           #           ..或者              png         #           包含字符"png"              |           #           .. 或者              gif         #           包含字符"gif"              |           #           .. 或者              bmp         #           包含字符"bmp"             )            #         组#3结束       )                  #     组#2结束 $                        #   字符串的结束)                         # 组#1结束
6. IP地址正则表达式模式
^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$
^                  # 行开始 (                 #   组#1开始  [01]?\\d\\d?     #     可以是1到2个数字. 如果出现3个数字, 必须以0或者1开始                   #     例如 ([0-9], [0-9][0-9],[0-1][0-9][0-9])    |              #     ...或者  2[0-4]\\d        #     以2开始, 紧跟着是0-4,并且以任意数字结尾(2[0-4][0-9])   |               #     ...或者  25[0-5]          #     以2开始, 紧跟着是5,并且以0-5结尾 (25[0-5]) )                 #   组#1结束  \.               #   接下来是点"."....               #   重复3次 (3x)$                  # 行结束
7. 时间格式正则表达式模式12-小时制时间正则表达式模式
(1[012]|[1-9]):[0-5][0-9](\\s)?(?i)(am|pm)
(                                  # 组#1开始 1[012]                            #   以10, 11, 12开始 |                                 #   或者 [1-9]                             #   以1,2,...9开始)                                  # 组#1结束 :                                 #   接下来是一个冒号 (:)  [0-5][0-9]                       #     接下来是0..5和0..9,意思是00到59            (\\s)?                 #       接下来是一个空格(可选)                  (?i)             #         下面的检查不区分大小写                      (am|pm)      #           接下来是AM或者PM
24小时制时间正则表达式模式
([01]?[0-9]|2[0-3]):[0-5][0-9]
(                                  # 组#1开始 [01]?[0-9]                        #   以0-9,1-9,00-09,10-19开始 |                                 #   或者 2[0-3]                            #   以20-23开始)                                  # 组#1结束 :                                 #   接下来是一个冒号(:)  [0-5][0-9]                       #     接下来是0..5和0..9,意思是00到59
8. 日期格式 (dd/mm/yyyy) 正则表达式模式
(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/((19|20)\\d\\d)
(                          # 组#1开始 0?[1-9]                   #   01-09或者1-9 |                         #   ..或者 [12][0-9]                 #   10-19或者20-29 |                         #   ..或者 3[01]                     #   30, 31)                          # 组#1结束  /                        #   接下来是一个"/"   (                       #     组#2开始    0?[1-9]                #       01-09或者1-9    |                      #       ..或者    1[012]                 #       10,11,12    )                      #     组#2结束     /                     #       接下来是一个"/"      (                    #         组#3开始       (19|20)\\d\\d       #           19[0-9][0-9]或者20[0-9][0-9]      )                    #         组#3结束
9. HTML标签正则表达式模式
<("[^"]*"|'[^']*'|[^'">])*>
<                # 以"<"标签开始?(               #   组#1开始? "[^"]*"        #     只允许两个双引号成对出现-"string"? |              #     ..或者? '[^']*'        #     只允许两个单引号成对出现- 'string'? |              #     ..或者? [^'">]         #     不能出现单独的双引号、单引号和">" )               #   组#1结束 *               #   0次或多次>                # 以结束标签">"结束
10. HTML链接正则表达式模式HTML中的A标签正则表达式模式
(?i)<a([^>]+)>(.+?)</a>
(????????????? # 组#1开始 ?i??????????? #?? 所有的检查区分大小写)????????????? # 组#1结束<a???????????? # 以"<a"开始 ?(??????????? #?? 组#2开始 ? [^>]+?????? #???? 除了(">")之外的任意字符,至少一个字符 ?)??????????? #?? 组#2结束 ?>??????????? #???? 接下来是">" ? (.+?)?????? #?????? 匹配所有 ? ? ? ?</a>?? #???????? 以"</a>结束
提取HTML链接正则表达式模式
\s*(?i)href\s*=\s*(\"([^"]*\")|'[^']*'|([^'">\s]+));
\s*????????????????????????? # 可以以空格开始 ?(?i)?????????????????????? #?? 所有的检查是区分大小写的 ? ? href??????????????????? #???? 接下来是一个"href"字 ? ? ? ?\s*=\s*????????????? #?????? 等号两边都允许空格, ? ? ? ? ? ? ?(????????????? #???????? 组#1开始 ? ? ? ? ? ? ? "([^"]*")???? #?????????? 只允许2个双引号成对出现 - "string" ? ? ? ? ? ? ? |???????????? #?????????? ..或者 ? ? ? ? ? ? ? '[^']*'?????? #?????????? 只允许2个单引号成对出现 - 'string' ? ? ? ? ? ? ? |???????????? #?????????? ..或者 ? ? ? ? ? ? ? ([^'">]+)? ? ?#?????????? 或者不允许出现单独的单引号、双引号和">" ? ? ? ? ? ? ? )???????????? #???????? 组#1结束

?

?

/**
? * 判断密码是否包含字母数字特殊字符
? */
?public static boolean chkPswd( String str ){
??????? boolean ret = false;
??????? Pattern pattern = Pattern.compile("(?=.*[0-9]+)(?=.*[a-zA-Z]+)(?=.*\\W+)");
??????? Matcher mat = pattern.matcher( str );
??????? ret = mat.find();
???????
??????? return ret;
??? }

读书人网 >编程

热点推荐