常用正则表达式
来源:互联网 发布:洛奇英雄传网络单机版 编辑:程序博客网 时间:2024/06/11 07:34
最近学习了正则表达式,不管是对编程亦或是非编程人员来说,正则都是一个非常实用的工具,于是找了些常用的正则表达式。
正则表达式的介绍:1.可以使用字符作为一个通配符来代替除换行符(\n)之外的任意一个字符,例如: .at可以与"cat","sat","mat"等匹配.通常,这种通配符用于操作系统中文件名匹配.2.[a-z],任何含在[]中的内容都是一个字符,只匹配一个字符.如:[a-zA-Z]代表任意大小写字母.3.[^a-z].匹配任何不属于a-z中的字符.4.[a-z&&[hij]].匹配hij任何一个(交集)5.\s.匹配空字符(空格,tab,\n,换页,回车)6.\S.匹配非空字符(和[^\s]一样)7.\d.匹配数字,相当于[0-9]8.\D.匹配非数字,相当于[^0-9],匹配中文,空格,换行符9.\w.匹配词字符,相当于[a-zA-Z0-9],不包含中文,不能代表空格,换行符10.\W.匹配非词字符,相当于[^\w],匹配一个中文字逻辑运算符:|:管道符.如:x|y表示x或y():捕获组.(abc)|(xyz)表示abc或xyz边界匹配符:^:从头匹配$:从尾匹配\b:词界.\B.非词界量词:量词描述一个模式吸收输入文本的方式.*:前面字符或组匹配0或多个+:前面字符或组匹配1或多个?:前面字符或组匹配0或1个{n}:前面字符或组的数量为n个{n,}:前面字符或组的数量至少n个
{n,m}:前面字符或组数量至少n个,最多m个
在正则表达式中具有特殊含义的字符 特殊字符
描述
. 表示任意一个字符 [abc] 表示a、b或c中的任意一个字符 [^abc] 除a、b和c以外的任意一个字符 [a-zA-z] 介于a到z,或A到Z中的任意一个字符 \s 空白符(空格、tab、换行、换页、回车) \S 非空白符 \d 任意一个数字[0-9] \D 任意一个非数字[^0-9] \w 词字符[a-zA-Z_0-9] \W 非词字符表示字符出现次数的符号 表示次数的符号
描述
* 0 次或者多次 + 1 次或者多次 ? 0 次或者 1 次 {n} 恰好 n 次 {n, m} 至少 n 次,不多于 m 次
下面是常用正则表达式大全!(例如:匹配中文、匹配html)
匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
(1)应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;}
(2)应用:JavaScript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现
String.prototype.trim = function()
{
return this.replace(/(^s*)|(s*$)/g, "");
}
(3)应用:利用正则表达式分解和转换IP地址
function IP2V(ip) //IP地址转换成对应数值
{
re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("Not a valid IP address!")
}
}
(4)应用:从URL地址中提取文件名的javascript程序
s="http://www.9499.net/page1.htm";
s=s.replace(/(.*/){0,}([^.]+).*/ig,"$2") ;//Page1.htm
(5)应用:利用正则表达式限制网页表单里的文本框输入内容
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'') "onbeforepaste="clipboardData.setData(''text'',clipboardData.getData(''text'').replace(/[^u4E00-u9FA5]/g,''))"
用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'') "onbeforepaste="clipboardData.setData(''text'',clipboardData.getData(''text'').replace(/[^uFF00-uFFFF]/g,''))"
用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste= "clipboardData.setData(''text'',clipboardData.getData(''text'').replace(/[^d]/g,''))"
用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData(''text'',clipboardData.getData(''text'').replace(/[^d]/g,''
- 【正则】常用正则表达式
- 正则表达式-常用正则表达式
- 正则表达式 常用正则表达式
- 正则表达式---常用的正则
- 正则表达式---常用的正则
- 【正则】常用正则表达式收集
- 正则大全 常用正则表达式
- 正则表达式 常用的正则
- .net正则表达式(常用表达式)
- 正则表达式中常用表达式
- 常用的正则表达式
- 常用正则表达式
- 常用的正则表达式
- 常用正则表达式参考
- 常用正则表达式收藏
- 常用C#正则表达式
- 常用正则表达式
- 常用正则表达式实例
- MapReduce总结
- PHP.ini方式防注或挂马(转自黑刀)
- 使用plist进行页面间传值
- BZOJ4009: [HNOI2015]接水果 kdtree
- ARM裸机程序研究
- 常用正则表达式
- 利用背景图片生成词云,设置停用词词集
- codeforces——811A——Vladik and Courtesy
- 什么是redis
- 数据库事务隔离级别
- java---模块二:流程控制
- codeforces 810A Straight «A»
- java Build Path
- 外部表+创建外部表+创建外部表步骤