常用的正则匹配表达式

非负整数:^\d+$

正整数:^[0-9]*[1-9][0-9]*$

非正整数:^((-\d+)|(0+))$

负整数:^-[0-9]*[1-9][0-9]*$

整数:^-?\d+$

非负浮点数:^\d+(\.\d+)?$

正浮点数 : ^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)$

非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$

负浮点数:^(-((正浮点数正则式)))$

英文字符串:^[A-Za-z]+$

英文大写串:^[A-Z]+$

英文小写串:^[a-z]+$

英文字符数字串:^[A-Za-z0-9]+$

英数字加下划线串:^\w+$

E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$
 或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\‘:+!]*([^<>\"\"])*$

邮政编码:^[1-9]\d{5}$

中文:^[\u0391-\uFFE5]+$

电话号码:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$

手机号码:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$

双字节字符(包括汉字在内):^\x00-\xff

匹配首尾空格:(^\s*)|(\s*$)(像vbscript那样的trim函数)

匹配HTML标记:<(.*)>.*<\/\1>|<(.*) \/>

匹配空行:\n[\s| ]*\r

提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F)  *=  *(‘|")?(\w|\\|\/|\.)+(‘|"|  *|>)?

提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

提取信息中的图片链接:(s|S)(r|R)(c|C)  *=  *(‘|")?(\w|\\|\/|\.)+(‘|"|  *|>)?

提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)

提取信息中的中国手机号码:(86)*0*13\d{9}

提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}

提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}

提取信息中的中国邮政编码:[1-9]{1}(\d+){5}

提取信息中的浮点数(即小数):(-?\d*)\.?\d+

提取信息中的任何数字 :(-?\d*)(\.\d+)? 

IP:(\d+)\.(\d+)\.(\d+)\.(\d+)

电话区号:/^0\d{2,3}$/

腾讯QQ号:^[1-9]*[1-9][0-9]*$

帐号(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/

sql语句:^(select|drop|delete|create|update|insert).*$

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
时间: 2024-10-09 23:02:54

常用的正则匹配表达式的相关文章

常用JS正则匹配函数

//校验用户名:只能输入1-30个字母 function isTrueName(s) { var patrn=/^[a-zA-Z]{1,30}$/; if (!patrn.exec(s)) return false return true } //校验密码:只能输入6-20个字母.数字.下划线 function isPasswd(s) { var patrn=/^(/w){6,20}$/; if (!patrn.exec(s)) return false return true } //校验普通

常用的正则表达表达式以及简单用法

 这是一个平时最常用的正则表达式,出来这些,我们还有很多,这里我就不一一列举了,关于字符的含义,详见    http://www.cnblogs.com/lizhanqi/p/5906136.html //定义需要匹配的正则表达式的规则(下边是一个手机号码的匹配是从下边的常用正则表达中抄过来的) String REGEX_MOBILE_SIMPLE = "^[1]\\d{10}$";//简单的 //复杂 String REGEX_MOBILE_SIMPLE = "^1[3|5

ruby 把字符串转为正则匹配表达式

需求 函数,需要通过参数传递字符串,用来做正则匹配 reg = '[0-9]+' def func(str, reg) str.scan(reg) end 由于 reg 在其它地方定义, reg 是字符串, 传进来后发现没法直接用于正则匹配 返回的结果总是 [] 空字符串. 解决 通过 Regexp 来通过 string 生成正则匹配的条件 def func)(str, reg) reg = Regexp.new("#{reg}"[0..-1]) "#{str}"

iOS 开发 常用的正则验证表达式:电话 、邮箱等等

#pragma mark - 验证手机号 +(BOOL)checkForMobilePhoneNo:(NSString *)mobilePhone{ NSString *regEx = @"^1[3|4|5|7|8][0-9]\\d{8}$"; return [self baseCheckForRegEx:regEx data:mobilePhone]; } #pragma mark - 私有方法 /** * 基本的验证方法 * * @param regEx 校验格式 * @param

正则匹配表达式各个符文表达的意义

\ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个向后引用.或一个八 进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹 配 "\" 而 "\(" 则匹配 "(". ^ 匹配输入字符串的开始位置.如果设置了 RegExp 对象的 Multiline 属性,^ 也 匹配 '\n' 或 '\r' 之后的位置. $ 匹配输入字符串的结束位置.如果设置了 RegExp 对象的 Multil

常用的正则匹配

1.判断只能输入数字和字母 var num_char = /^[0-9A-Za-z]+$/; ^ :代表匹配字符串开始位置; [0-9A-Za-z]+ :[0-9A-Za-z]匹配数字和字母(匹配单个)  +匹配一个或多个 $  :为匹配输入字符串的结束位置

几个常用的正则验证表达式-可以满足一般需求

不定期更新 1 手机号码验证: var pattern = /^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/; 2 身份证号码验证: var pattern = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])

常用的正则表达式-匹配中英文、字母和数字

在做项目的过程中,使用正则表达式来匹配一段文本中的特定种类字符,是比较常用的一种方式,下面是对常用的正则匹配做了一个归纳整理. 匹配中文:[\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.一个正则表达式,只含有汉字.数字.字

正则匹配引发的血案

引子:一家商业IT服务公司,提供给客户的服务突然中断了将近一个小时,事后排查原因,竟然是因为一个正则表达式引起的,小小的正则表达式何以引起如此严重的问题? 事情的原因是由于正则解析导致cpu资源消耗殆尽,引起连锁反应,后续的服务都无法对外提供.引起故障的正则表达式是这样的,“(?:(?:\"|'|\]|\}|\\|\d|(?:nan|infinity|true|false|null|undefined|symbol|math)|\`|\-|\+)+[)]*;?((?:\s|-|~|!|{}|\|