正则表达式搜集

正则表达式征集(持久更新)
次次都要觅很久,爽性放一行搜集起床,也一行共享给大伙,如其您有好的正则表达式,可以留言给我,多谢。

html中搜索图片url:

<img.*?src=[/"|/'](.*?.*?)[/"|/'].*?>



折叠代码



婚配全部字母、数目字、空格:


^[_a-zA-Z/u四e00-/u九fa五/s][_零-九a-zA-Z/u四e00-/u九fa五/s]*$


折叠代码



不允许延续字符:


^(([a-zA-Z/d/u四e00-/u九fa五])(?!([a-zA-Z/d]){20}))+$


折叠代码

主页发现一篇正则的归藏贴,链接之:C#正则表达式总结





以次是一些惯用的正则表达式,觉着适用就归藏一下子吧。

唯其如此输入数目字:"^[零-九]*$"。
唯其如此输入n位的数目字:"^/d{n}$"。
不得不输入最少n位的数目字:"^/d{n,}$"。
唯其如此输入m~n位的数目字:。"^/d{m,n}$"
唯其如此输入0和非零造端的数目字:"^(零|[一-九][零-九]*)$"。
唯其如此输入有两位小数的正实数:"^[零-九]+(.[零-九]{二})?$"。
不得不输入有一~3位小数的正实数:"^[零-九]+(.[零-九]{一,三})?$"。
唯其如此输入非零的正整数:"^/+?[一-九][零-九]*$"。
不得不输入非零的负整数:"^/-[一-九][]零-九"*$。
唯其如此输入长度为三的字符:"^.{三}$"。

唯其如此输入由26个英文字母构成的字符串:"^[A-Za-z]+$"。
只得输入由26个大写英文字母结成的字符串:"^[A-Z]+$"。
只好输入由26个小写英文字母结成的字符串:"^[a-z]+$"。
唯其如此输入由数目字和26个英文字母构成的字符串:"^[A-Za-z零-九]+$"。
不得不输入由数目字、26个英文字母或许下划线构成的字符串:"^/w+$"。

应验用户密码:"^[a-zA-Z]/w{五,17}$"准确格式为:以字母肇端,长度在六~18其间,只得包孕字符、数目字和下划线。
应验是不是带有^%&',;=?$/"等字符:"[^%&',;=?$/x22]+"。
不得不输入汉字:"^[/u四e00-/u九fa五]{零,}$"
印证Email地址:"^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$"。
应验InternetURL:"^http://([/w-]+/.)+[/w-]+(/[/w-./?%&=]*)?$"。
印证电话号码:"^(/(/d{三,四}-)|/d{3.4}-)?/d{七,八}$"准确格式为:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
印证身份证号(15位或18位数目字):"^/d{15}|/d{18}$"。
证验一年的12个月:"^(零?[一-九]|一[零-二])$"准确格式为:"01"~"09"和"一"~"12"。
应验一个月的31天:"^((零?[一-九])|((一|二)[零-九])|30|31)$"准确格式为;"01"~"09"和"一"~"31"。

利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只得输入汉语言:
用正则表达式限制不得不输入全角字符:
用正则表达式限制不得不输入数目字:
用正则表达式限制只好输入数目字和英文:
得用正则表达式从URL地址中提取文件名的javascript程序,如次结果为page一
s="http://www.janbao.net"
s=s.replace(/(.*//){零,}([^/.]+).*/ig,"$二")
alert(s)
婚配双字节字符(包括汉字在内):[^/x00-/xff]
运用:计算字符串的长度(一个双字节字符长度计二,ASCII字符计一)
String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;}
婚配空行的正则表达式:/n[/s| ]*/r
婚配HTML标记的正则表达式:/<(.*)>.*<///一>|<(.*) //>/
婚配起讫空格的正则表达式:(^/s*)|(/s*$)
String.prototype.trim = function()
{
return this.replace(/(^/s*)|(/s*$)/g, "");
}

利用正则表达式分解和变换IP地址:
下头是利用正则表达式婚配IP地址,并将IP地址转换成对应数值的Javascript程序:
function IP二V(ip)
{
re=/(/d+)/.(/d+)/.(/d+)/.(/d+)/g //婚配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$一*Math.pow(255,三))+RegExp.$二*Math.pow(255,二))+RegExp.$三*255+RegExp.$四*一
}
else
{
throw new Error( "Not a valid IP address!")
}
}
不过上边的程序如若不要正则表达式,而直接用split函数来分解也许更简略,程序如次:
var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[零]*255*255*255+ip[一]*255*255+ip[二]*255+ip[三]*一))
符号解释:
字符 描述
/ 将下一个字符标记为一个非一般字符、或一个原义字符、或一个 向后引述、或一个八进制转义符。
比如,'n' 婚配字符 "n"。'/n' 婚配一个换行符。序列 '//' 婚配 "/" 而 "/(" 则婚配 "("。
^ 婚配输入字符串的开始位置。如其设立了 RegExp 对象的 Multiline 属性,^ 也婚配 '/n' 或 '/r' 以后的位置。
$ 婚配输入字符串的完结位置。如若设立了RegExp 对象的 Multiline 属性,$ 也婚配 '/n' 或 '/r' 事先的位置。
* 婚配前边的子表达式零次或屡次。比如,zo* 会婚配 "z" 以及 "zoo"。* 齐名于{零,}。
+ 婚配前边的子表达式一次或屡次。比如,'zo+' 会婚配 "zo" 以及 "zoo",但不能婚配 "z"。+ 齐名于 {一,}。
? 婚配前边的子表达式零次或一次。比如,"do(es)?" 可以婚配 "do" 或 "does" 中的"do" 。? 齐名于 {零,一}。
{n} n 是一个非负整数。婚配确定的 n 次。比如,'o{二}' 不能婚配 "Bob" 中的 'o',但是能婚配 "food" 中的两个 o。
{n,} n 是一个非负整数。最少婚配n 次。比如,'o{二,}' 不能婚配 "Bob" 中的 'o',但能婚配 "foooood" 中的全部 o。'o{一,}' 齐名于 'o+'。'o{零,}' 则齐名于 'o*'。
{n,m} m 和 n 均为非负整数,内中n <= m。起码婚配 n 次且至多婚配 m 次。比如,"o{一,三}" 将婚配 "fooooood" 中的前三个 o。'o{零,一}' 齐名于 'o?'。请注意在逗号和两个数其间不能得空格。
? 应该字符跟进在任何一个其余限制符 (*, +, ?, {n}, {n,}, {n,m}) 后边时,婚配形式是是非非贪婪的。非贪婪形式尽量少的婚配所搜寻的字符串,而默许的贪婪方式则尽量多的婚配所搜寻的字符串。比如,至于字符串 "oooo",'o+?' 将婚配单个 "o",而 'o+' 将婚配全部 'o'。
. 婚配除 "/n" 以外的任何单个字符。要婚配包括 '/n' 在内的任何字符,请使用象 '[./n]' 的形式。
(pattern) 婚配 pattern 并获取这一婚配。所获取的婚配可以从发作的 Matches 聚合失去,在VBScript 中运用 SubMatches 聚合,在JScript 中则应用 $零…$九 属性。要婚配圆括号字符,请使用 '/(' 或 '/)'。
(?:pattern) 婚配 pattern 但不获取婚配结果,来讲这是一个非获取婚配,不进展储存供之后运用。这在应用 "或" 字符 (|) 来结合一个形式的各个一部分是很有用。比如, 'industr(?:y|ies) 便是一个比 'industry|industries' 更容易的表达式。
(?=pattern) 正向预查,在任何婚配 pattern 的字符串开始处婚配查寻字符串。这是一个非获取婚配,且不说,该婚配不需要获取供之后施用。比如,'Windows (?=95|98|NT|2000)' 会婚配 "Windows 2000" 中的 "Windows" ,但不能婚配 "Windows 3.1" 中的 "Windows"。预查不耗费字符,来讲,在一个婚配发生后,在最后一次婚配以后马上开始下一次婚配的搜寻,而不是从包孕预查的字符以后开始。
(?!pattern) 负向预查,在任何不婚配 pattern 的字符串开始处婚配查寻字符串。这是一个非获取婚配,且不说,该婚配不需要获取供之后应用。比如'Windows (?!95|98|NT|2000)' 会婚配 "Windows 3.1" 中的 "Windows",但不能婚配 "Windows 2000" 中的 "Windows"。预查不耗费字符,来讲,在一个婚配发生后,在最后一次婚配以后立马开始下一次婚配的搜寻,而不是从包孕预查的字符以后开始
x|y 婚配 x 或 y。比如,'z|food' 会婚配 "z" 或 "food"。'(z|f)ood' 则婚配 "zood" 或 "food"。
[xyz] 字符会合。婚配所包孕的随意一个字符。比如, '[abc]' 可以婚配 "plain" 中的 'a'。
[^xyz] 负值字符聚合。婚配未包孕的随便字符。比如, '[^abc]' 可以婚配 "plain" 中的'p'。
[a-z] 字符范畴。婚配指定范围内的随意字符。比如,'[a-z]' 可以婚配 'a' 到 'z' 范围内的随便小写字母字符。
[^a-z] 负值字符范畴。婚配任何不在指定范围内的随意字符。比如,'[^a-z]' 可以婚配任何不在 'a' 到 'z' 范围内的随意字符。
/b 婚配一个单纯词地界,也乃是指单纯词和空格间的位置。比如, 'er/b' 可以婚配"never" 中的 'er',但不能婚配 "verb" 中的 'er'。
/B 婚配非单纯词地界。'er/B' 会婚配 "verb" 中的 'er',但不能婚配 "never" 中的 'er'。
/cx 婚配由 x 点明的控制字符。比如, /cM 婚配一个 Control-M 或回车符。x 的值务须为 A-Z 或 a-z 之一。不然,将 c 视为一个原义的 'c' 字符。
/d 婚配一个数字字符。齐名于 [零-九]。
/D 婚配一个非数字字符。齐名于 [^零-九]。
/f 婚配一个换页符。齐名于 /x零c 和 /cL。
/n 婚配一个换行符。齐名于 /x零a 和 /cJ。
/r 婚配一个回车符。齐名于 /x零d 和 /cM。
/s 婚配任何空缺字符,包括空格、制表符、换页符之类。齐名于 [ /f/n/r/t/v]。
/S 婚配任何非空缺字符。齐名于 [^ /f/n/r/t/v]。
/t 婚配一个制表符。齐名于 /x09 和 /cI。
/v 婚配一个垂直制表符。齐名于 /x零b 和 /cK。
/w 婚配包括下划线的任何单纯词字符。齐名于'[A-Za-z零-九_]'。
/W 婚配任何非单纯词字符。齐名于 '[^A-Za-z零-九_]'。
/xn 婚配 n,内中 n 为十六进制转义值。十六进制转义值务须为确定的两个数目字长。比如,'/x41' 婚配 "A"。'/x041' 则齐名于 '/x04' & "一"。正则表达式中可以施用 ASCII 编码。.
/num 婚配 num,内中 num 是一个正整数。对所获取的婚配的摘引。比如,'(.)/一' 婚配两个延续的雷同字符。
/n 标识一个八进制转义值或一个向后引述。如其 /n 先头最少 n 个获取的子表达式,则 n 为向后引述。不然,如若 n 为八进制数目字 (零-七),则 n 为一个八进制转义值。
/nm 标识一个八进制转义值或一个向后引述。如若 /nm 先期至少有 nm 个取得子表达式,则 nm 为向后摘引。如其 /nm 先期至少有 n 个获取,则 n 为一个脚跟文字 m 的向后引述。如若前头的条件都不满足,若 n 和 m 均为八进制数目字 (零-七),则 /nm 将婚配八进制转义值 nm。
/nml 如若 n 为八进制数目字 (零-三),且 m 和 l 均为八进制数目字 (零-七),则婚配八进制转义值 nml。
/un 婚配 n,内中 n 是一个用四个十六进制数目字表示的 Unicode 字符。比如, /u00A九 婚配版权符号 (?)。


本文来源:
我的异常网
Java Exception
Dotnet Exception
Oracle Exception

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值