博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用正则表达式
阅读量:6852 次
发布时间:2019-06-26

本文共 2067 字,大约阅读时间需要 6 分钟。

  

常用的正则表达式集合:

验证数字:^[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]*$ 
验证非负整数(正整数 + 0) ^\d+$ 
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$ 
验证长度为3的字符:^.{3}$ 
验证由26个英文字母组成的字符串:^[A-Za-z]+$ 
验证由26个大写英文字母组成的字符串:^[A-Z]+$ 
验证由26个小写英文字母组成的字符串:^[a-z]+$ 
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$ 
验证用户名或昵称经常用到: ^[\u4e00-\u9fa5A-Za-z0-9-_]*$  只能中英文,数字,下划线,减号   /\A[\p{Han}\p{Alnum}\-_]{4,24}\z/

验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 

验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+ 
验证汉字:^[\u4e00-\u9fa5],{0,}$ 
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ 
验证电话号码:^(\(\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。 
整数:^-?\d+$ 
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$ 
正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 
负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 
浮点数 ^(-?\d+)(\.\d+)?$

识别以中文和空格作为结束符号

短地址识别正则如下:

((http|https|ftp|ftps):\/\/)?([a-zA-Z0-9-]+\.){1,5}(com|cn|net|org|hk|tw)((\/(\w|-)+(\.([a-zA-Z]+))?)+)?(\/)?(\??([\.%:a-zA-Z0-9_-]+=[#\.%:a-zA-Z0-9_-]+(&)?)+)?

解释:

((http|https|ftp|ftps):\/\/)?
表示是否带有请求的头部
([a-zA-Z0-9-]+\.){1,5}(com|cn|net|org|hk|tw)
表示域名的本身,包含了5极和域名后缀
((\/(\w|-)+(\.([a-zA-Z]+))?)+)?(\/)?
表示域名后紧跟的域名地址
包含了直接跟"/"、"/***/***/**/**.**"的情况
(\/)?(\??([\.%:a-zA-Z0-9_-]+=[#\.%:a-zA-Z0-9_-]+(&)?)+)?
表示编码后的url地址
包含了"?***=***"、"?***=***&***=***#sdsd"的情况
@功能 

#define HashTagAndMentionRegex  @"(#|@)(\\S+)"

#define HashTagAndMentionRegex  @"(#|@)(\w+)"

缺点:

与新浪微博一样,容易将话题的#符号一起作为短地址的一部分

 

 
 
 

转载于:https://www.cnblogs.com/chinaxxren/p/3768691.html

你可能感兴趣的文章
BUNOJ 4044
查看>>
Unity Creating Interception Handler Attributes
查看>>
python 自动化测试
查看>>
PASCAL语言子集的词法、语法分析器之实现
查看>>
四大 web 框架
查看>>
Java代码生成
查看>>
ecshop截取字符串函数
查看>>
HDU 4099 Revenge of Fibonacci(字典树)
查看>>
使用 Windows Azure 移动服务将云添加到您的应用
查看>>
代理模式(Proxy)
查看>>
ios开发之360度事件处理
查看>>
IIS6.0可支持32位和64位两种模式
查看>>
占用空间的大小
查看>>
PyConChina 2012 - 第二届中国Python开发者大会 上海.北京.西安.杭州.合肥.武汉.珠海 | 抢座网...
查看>>
模块间变量传递
查看>>
多文档多视图之间的切换过程和当文档多视图之间的切换过程
查看>>
微软说“骂吧!骂吧!我要长大!”
查看>>
C++ 函数后加const
查看>>
[BTS] 应用程序中的错误。 (Microsoft.BizTalk.ExplorerOM)
查看>>
Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块-完美解决(二)
查看>>