常用正则表达式语法
2015-03-05 15:09
225 查看
转自:http://www.codeorg.com/doc/54e93f4c5b965cbb0bd9c823
1.简单的转义字符
/r, /n //代表回车和换行符 /t //制表符 // //代表 "/" 本身
2.多种字符的匹配
/d //任意一个数字,0~9 中的任意一个 /w //任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个 /s //包括空格、制表符、换页符等空白字符的其中任意一个 . //小数点可以匹配除了换行符(/n)以外的任意一个字符
3.修饰匹配次数
{n} //表达式重复n次,比如:"/w{2}" 相当于 "/w/w";"a{5}" 相当于 "aaaaa" {m,n} //表达式至少重复m次,最多重复n次,比如:"ba{1,3}"可以匹配 "ba"或"baa"或"baaa" {m,} //表达式至少重复m次,比如:"/w/d{2,}"可以匹配 "a12","_456","M12344"... ? //匹配表达式0次或者1次,相当于 {0,1},比如:"a[cd]?"可以匹配 "a","ac","ad" + //表达式至少出现1次,相当于 {1,},比如:"a+b"可以匹配 "ab","aab","aaab"... * //表达式不出现或出现任意次,相当于 {0,},比如:"/^*b"可以匹配 "b","^^^b"...
4.抽象意义的特殊符号
^ //与字符串开始的地方匹配,不匹配任何字符 $ //与字符串结束的地方匹配,不匹配任何字符 /b //匹配一个单词边界,也就是单词和空格之间的位置,不匹配任何字符 | //左右两边表达式之间 "或" 关系,匹配左边或者右边 ( ) //(1). 在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰 //(2). 取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到
5.一些高级规则
(d)(/w+) //"/w+" 将匹配第一个 "d" 之后的所有字符 "xxxdxxxd" (d)(/w+)(d) //"/w+" 将匹配第一个 "d" 和最后一个 "d" 之间的所有字符 "xxxdxxx"。虽然 "/w+" 也能够匹配上最后一个 "d",但是为了使整个表达式匹配成功,"/w+" 可以 "让出" 它本来能够匹配的最后一个 "d" (d)(/w+?) //"/w+?" 将尽可能少的匹配第一个 "d" 之后的字符,结果是:"/w+?" 只匹配了一个 "x" (d)(/w+?)(d) //为了让整个表达式匹配成功,"/w+?" 不得不匹配 "xxx" 才可以让后边的 "d" 匹配,从而使整个表达式匹配成功。因此,结果是:"/w+?" 匹配 "xxx"
6.其他通用规则
/xXX //编号在 0 ~ 255 范围的字符,比如:空格可以使用 "/x20" 表示 /uXXXX //任何字符可以使用 "/u" 再加上其编号的4位十六进制数表示,比如:"/中" /S //匹配所有非空白字符("/s" 可匹配各个空白字符) /D //匹配所有的非数字字符 /W //匹配所有的字母、数字、下划线以外的字符 /B //匹配非单词边界,即左右两边都是 "/w" 范围或者左右两边都不是 "/w" 范围时的字符缝隙 ^ //匹配输入字符串的开始位置。要匹配 "^" 字符本身,请使用 "/^" $ //匹配输入字符串的结尾位置。要匹配 "$" 字符本身,请使用 "/$" ( ) //标记一个子表达式的开始和结束位置。要匹配小括号,请使用 "/(" 和 "/)" [ ] //用来自定义能够匹配 '多种字符' 的表达式。要匹配中括号,请使用 "/[" 和 "/]" { } //修饰匹配次数的符号。要匹配大括号,请使用 "/{" 和 "/}" . //匹配除了换行符(/n)以外的任意一个字符。要匹配小数点本身,请使用 "/." ? //修饰匹配次数为 0 次或 1 次。要匹配 "?" 字符本身,请使用 "/?" + //修饰匹配次数为至少 1 次。要匹配 "+" 字符本身,请使用 "/+" * //修饰匹配次数为 0 次或任意次。要匹配 "*" 字符本身,请使用 "/*" | //左右两边表达式之间 "或" 关系。匹配 "|" 本身,请使用 "/|"
7.表达式属性
Ignorecase //i:代表不区分大小写匹配。默认情况下,表达式中的字母是要区分大小写的。配置为 Ignorecase 可使匹配时不区分大小写。有的表达式引擎,把 "大小写" 概念延伸至 UNICODE 范围的大小写。 Singleline //s:单行匹配,默认情况下,小数点 "." 匹配除了换行符(/n)以外的字符。配置为 Singleline 可使小数点可匹配包括换行符在内的所有字符。 Multiline //m:代表可以进行多行匹配。默认情况下,表达式 "^" 和 "$" 只匹配字符串的开始 ① 和结尾 ④ 位置。如: //①xxxxxxxxx②/n //③xxxxxxxxx④ //配置为 Multiline 可以使 "^" 匹配 ① 外,还可以匹配换行符之后,下一行开始前 ③ 的位置,使 "$" 匹配 //④ 外,还可以匹配换行符之前,一行结束 ② 的位置。 Global //g:代表可以进行全局匹配。主要在将表达式用来替换时起作用,配置为 Global 表示替换所有的匹配。
8.常用应用
'codeorg.test.com'.replace(/(codeorg)\.([a-z]+)\.([a-z]+)/gi,'$1.$3') //返回codeorg.com /^[a-zA-Z0-9_-][\w.]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test('www@codeorg.com') //返回true,验证邮件 ng-pattern="/^[a-zA-Z0-9_-][\w.]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/" //可以在angularjs表单验证中加入 /^([a-zA-Z]|[0-9]|[\u4e00-\u9fa5]){1,}$/.test('用户名') //用户名验证,允许字母,数字,中文 '127.0.0.1'.replace(/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/gi,function(a,b,c,d,e){ //a=127.0.0.1 //b=127 //c=0 //d=0 //e=1 return b+'-'+c;}); //返回127-0,多条匹配依次替换 //pattern动态定义 '5558'.match(new RegExp('[0-9]+')) //返回数组['5558'] var reg= new Regex("[0-9]+", RegexOptions.IgnoreCase | RegexOptions.Multiline); // RegexOptions一些选项
相关文章推荐
- 常用正则表达式&相应转义符&语法
- 常用正则表达式及基本语法
- php正则表达式入门-常用语法格式
- 正则表达式常用语法
- iOS开发------常用正则表达式语法以及常用正则
- php正则表达式入门-常用语法格式
- C++中正则表达式使用,正则表达式语法以及常用正则表达式大全
- Delphi 正则表达式语法(4): 常用转义字符与 .
- 正则表达式语法及常用的正则…
- 常用正则表达式语法例句
- Delphi 正则表达式语法(4): 常用转义字符与 .
- UE正则表达式语法及常用语句
- 正则表达式常用分组语法
- 常用正则表达式语法
- Delphi 正则表达式语法(4): 常用转义字符与 .
- 常用数据验证数据表达式释义(附:正则表达式语法)
- 正则表达式语法及常用的正则表达式
- 正则表达式语法及常用的正则表达式
- 常用正则表达式及基础语法
- 常用的正则表达式及语法大全