`

JAVA 正则表达示实例 转

阅读更多

1. 用户名正则表达式模式

^[a-z0-9_-]{3,15}$
^                         # 行开始
  [a-z0-9_-]              # 匹配列表中的字符,a-z,0–9,下划线,连字符
            {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;
    }

分享到:
评论
1 楼 358135071 2012-04-12  
感谢分享

相关推荐

    Java正则表达式详解(包含实例说明)

    Java正则表达式是Java语言中用于处理文本和匹配模式的重要工具。虽然在撰写此文章时,Java规范需求中正则表达式的支持还未被正式纳入JDK,但开发者可以通过Apache的Jakarta-ORO库来实现正则表达式功能。 正则表达式...

    Java JDK正则表达

    ### Java JDK正则表达式详解 #### 一、概述 正则表达式是Java中用于处理字符串和文本的强大工具。它允许开发人员高效地搜索、替换或验证文本数据中的模式。在Java中,正则表达式的操作主要依赖于`java.util.regex`...

    C#和JAVA正则表达式

    Java正则表达式的语法与C#基本一致,但有一些小差异,比如Java中的`\d`等预定义字符类需要写成`\p{Digit}`。 正则表达式的强大在于它的灵活性和表达力。例如,我们可以用`(\\d{3})-(\\d{2})-(\\d{4})`来匹配美国...

    正则表达式实例(汇总)

    正则表达式实例汇总 正则表达式是 JavaScript 中一个非常重要的概念,它可以用来匹配、验证和操作字符串。在这篇文章中,我们将总结一些常用的正则表达式实例,涵盖了数字、空格、电话号码、手机号码、字符串等多...

    java正则表达式Pattern,Matcher

    ### Java正则表达式Pattern与Matcher详解 #### 一、Java正则表达式的概述 在Java编程语言中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能够帮助开发者进行复杂的字符串搜索和替换操作。Java...

    进制\正则表达

    在提供的文件名中,“正则表达式.doc”可能包含了正则表达式的详细教程和实例,而“进制.doc”可能涵盖了进制转换的各种方法和应用场景。通过深入学习这两个文档,你可以更全面地理解并运用这些IT基础知识。 总结来...

    正则表达式傻瓜式宝典

    5. **Java中的正则**:书中会讲解Java如何使用Pattern和Matcher类来编译和执行正则表达式,包括compile()方法创建Pattern对象,matcher()方法获取Matcher对象,以及find()、matches()、replaceAll()等方法的使用。...

    Java中的正则表达式

    #### Java正则表达式的特点 **优点**: - **简化代码**:使用正则表达式可以极大地简化代码,例如在验证电子邮件地址的有效性时,传统的编程方法可能需要十几行代码,而使用正则表达式只需几行即可完成。 - **提高...

    正则表达式

    它在编程语言中广泛使用,如JavaScript、Python、Java等,是处理文本数据时不可或缺的一部分。《精通正则表达式(第3版)》是深入学习这一领域的权威指南。 一、正则表达式基础 正则表达式由一系列特殊字符和普通...

    【独家高薪笔面试题库】与【实战配套练习演练】8.StringBuilder与Buffer正则表达1

    本篇内容将深入探讨StringBuilder和StringBuffer的区别以及它们在处理字符串拼接时的角色,同时也会涉及正则表达式的基础知识,包括如何使用java.util.regex包进行模式匹配。 1. StringBuilder与StringBuffer的区别...

    遨游在正则表达式的海洋

    ##### 实例1 例如,在Python中使用`re.search('hi', string, re.I)`来进行匹配时,`re.I`标志表示忽略大小写,即匹配"hi"、"HI"、"Hi"、"hI"等多种情况。但如果我们只想精确匹配"hi",可以使用`\b`元字符来限定边界...

    精通正则表达式(第三版)简体中文.pdf

    5. **正则表达式引擎的差异**:书中讨论了不同的正则表达式引擎(如Perl、JavaScript、Java、.NET等)之间的差异,这对于跨平台开发或使用不同语言的开发者来说非常重要。 6. **实战应用**:书中包含大量实例,涵盖...

    牧子小岩:正则表达式

    正则表达式是一种文本匹配的模式工具,它使用特定的语法来描述和匹配字符串中的字符序列。在编程语言如Java中,正则表达式可以用来...而通过实例练习和记忆简单的规则,确实可以快速入门并应用正则表达式解决实际问题。

    正则表达式相关(有正表达验证软件)

    - **编程语言内置支持**:大多数编程语言如Python、Java、JavaScript等都内置了正则表达式引擎,可以直接在代码中进行验证。 3. **正则表达式在软件测试中的应用** - **输入验证**:测试用户输入是否符合预期格式...

    30分钟明白正则

    3. **正则表达式实例** - `\bhi\b`:精确匹配单词"hi",不匹配"him"、"history"等包含"hi"的单词。 - `\bhi\b.*\bLucy\b`:匹配"hi"后面跟着任意字符,最后是单词"Lucy"的字符串。 - `0\d\d-\d\d\d\d\d\d\d\d`:...

    Oracle数据库正则表达式使用场景代码实例

    无论是在前端还是后台正则表达式都是一个至关重要的知识点,例如判断一个手机号码输入是否正确,如果使用Java、C或者其他语言进行字符串进行判断,也许写几十行代码都不一定能解决,而且漏洞百出,而使用正则表达式...

    正则表达式使用帮助文档

    正则表达式在各种编程语言中都有实现,如JavaScript、Python、Java、C#等。它们提供了内置的函数或模块来处理正则表达式,如JavaScript的`match()`、`search()`、`replace()`和`split()`方法,Python的`re`模块。 ...

Global site tag (gtag.js) - Google Analytics