常用正则表达式大全

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结束
补充一个:[\\s\\S]*?([^\\/]*?\\.jpg)
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结束

  

 

 

说明:正则表达式通常用于两种任务:1.验证,2.搜索/替换。用于验证时,通常需要在前后分别加上^和$,以匹配整个待验证字符串;搜索/替换时是否加上此限定则根据搜索的要求而定,此外,也有可能要在前后加上\b而不是^和$。此表所列的常用正则表达式,除个别外均未在前后加上任何限定,请根据需要,自行处理。

 

说明 正则表达式
网址(URL) [a-zA-z]+://[^\s]*
IP地址(IP Address) ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
电子邮件(Email) \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
QQ号码 [1-9]\d{4,}
HTML标记(包含内容或自闭合) <(.*)(.*)>.*<\/\1>|<(.*) \/>
密码(由数字/大写字母/小写字母/标点符号组成,四种都必有,8位以上) (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$
日期(年-月-日) (\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))
日期(月/日/年) ((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2})
时间(小时:分钟, 24小时制) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
汉字(字符) [\u4e00-\u9fa5]
中文及全角标点符号(字符) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
中国大陆固定电话号码 (\d{4}-|\d{3}-)?(\d{8}|\d{7})
中国大陆手机号码 1\d{10}
中国大陆邮政编码 [1-9]\d{5}
中国大陆身份证号(15位或18位) \d{15}(\d\d[0-9xX])?
非负整数(正整数或零) \d+
正整数 [0-9]*[1-9][0-9]*
负整数 -[0-9]*[1-9][0-9]*
整数 -?\d+
小数 (-?\d+)(\.\d+)?
不包含abc的单词 \b((?!abc)\w)+\b

 

参考:http://deerchao.net/tutorials/regex/common.htm

时间: 2024-10-23 22:13:46

常用正则表达式大全的相关文章

最全的常用正则表达式大全_正则表达式

很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求.所以我最近把开发中常用的一些正则表达式整理了一下,包括校验数字.字符.一些特殊的需求等等.给自己留个底,也给朋友们做个参考. 一.校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9

最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等

一.校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 8 正数.负数.和小数:^(\-|\+)?\d+(\.\d+)?$ 9 有两位小数的正实数:^[0-9]

常用正则表达式大全!(例如:匹配中文、匹配html)

一.常见正则表达式 匹配中文字符的正则表达式: [u4e00-u9fa5]    评注:匹配中文还真是个头疼的事,有了这个表达式就好办了  匹配双字节字符(包括汉字在内):[^x00-xff]  评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)  匹配空白行的正则表达式:ns*r  评注:可以用来删除空白行  匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />  评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复

值得收藏的正则表达式大全_正则表达式

正则表达式,又称正规表示法.常规表示法.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 一.归类 1. "^" 同类 "^" 匹配输入字符串的开始位置. "$" 匹配输入字符串的结束位置. "\b" 匹配一个单词边界,也就是

正则表达式同时匹配中英文及常用正则表达式_正则表达式

匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: [\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} ^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾: ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中:

javascript常用正则表达式汇总_javascript技巧

javascript常用正则表达式汇总 /** * 检验各种规则 * @param str 检验的内容 * @param cType 预设的检验规则 字符串[ * empty, 检验是否为空 * telphone, 座机手机号码 * allphone, 所有手机号码 * ydphone, 移动手机号码 * ltphone, 联通手机号码 * dxphone, 电信手机号码 * email, 邮箱 * url, 网址 * cn, 汉字 * image, 图片格式 * emscode, 邮政编码 *

正则表达式同时匹配中英文及常用正则表达式

匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: [\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} ^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾: ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中:

值得收藏的正则表达式大全

正则表达式,又称正规表示法.常规表示法.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 一.归类 1. "^" 同类 "^" 匹配输入字符串的开始位置. "$" 匹配输入字符串的结束位置. "\b" 匹配一个单词边界,也就是

常用的正则表达式大全(数字、字符、固定格式)

相关阅读: IOS开发常用的正则表达式 Java正则表达式过滤出字母.数字和中文 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的. 构造正则表达式的方法和创建数学表达式的方法一样.也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式.