JS正则表达式之特殊符号
在正则表达式中,许多标点符号具有特殊含义,比较难记,现归纳备个份:
这些符号有:^ $ . * + - ? = ! : | \ / ( ) [ ] { }
1.“[ ]”表示字符类: 即括号里是个字符集:如/[abc]/,表示和含有a,b,c任何一个字母的字符串都匹配。
注:特殊字符类:\s表示空格符、制表符、Unicode空白符。\S表示非Unicode空白符。(也可自定义Unicode字符类:如:
/[\u4E00-\u9FA5]/表示只匹配中文字符。)
\w 任何单字字符,相当于[a-zA-X0-9_];\W与\w相反。
\d 任何数字,相当于[0-9];\D与\w相反。
\b在字符类中使用表示退格符。[\b]则表示退格直接量。\b可以用来指定匹配位置,也可称为锚;如:
查找一个句子里的单词 java , 可以使用/\bjava\b/;\B与其相反。
2.“-"表示连字符,如[a-z];
3."."表示除换行符和其他Unicode行终止符之外的任意字符。
4."^"具有两重含义:开始标记和非,如:/^a/表示以a开始的字符,当在[]中时:/[^a]/表示非a的所有字符。
5."$"表示字符结尾。如:/^abc$/表示以c结束的字符。
6.”{}"表示重复上一项。如/\d{2,4}/表示数字出现两次,最多出现4次。如/3{2,4}/匹配33...;333....;3333.....;不匹配3和4个3相连以上的了。它的三种格式如下{n,m}表示至少3次,最多m次;{n,}至少n次;{n}恰好n次。
7."?"表示{0,1}。
8."+"表示{1,}。
9."*"表示{0,}。
注:非贪婪的重复(如??,+?,*?,{1,5}?只匹配第一个。)
10."|"表示分割,即或的含义。如:/ab|cd|ef/匹配含有ab或cd或ef的字符串。
11."()"包含三重用途:一是定义子表达式。二是在完整的模式中定义子模式。三是子表达式的引用。
子模式的定义可以从目标串中抽取和括号中的子模式相匹配的部分。
子模式的表达式的引用是指:可识别子模式的编号,提取它。如/(abc)\sis\s(string\w*)/;里面含有两个字表达式:可通过
\1指(abc);\2指(string\w*); 应用如:/['"][^'"]*['"]/不能取前后同样的引号,可以这样写:/[('")[^'"]*\1]/,可起到约束作用。
注:若想()里的不想被记忆,可采用(?:.....),将不会对其编号。
还有(?=p),(?!p)如下:
如/(javascript)?(?=\:)/ 表示匹配javascript:,但不包含:;它不匹配javascript,因为他有个条件就是后要接:;
(?!p)反前向声明,要求接下来的字符不与模式p匹配,与(?=p)相反。
转自:http://www.cnblogs.com/devcjq/articles/2920112.html
JS正则表达式之特殊符号的更多相关文章
- JS 正则表达式 控制文本框只能输入中文、英文、数字与指定特殊符号
JS 正则表达式 控制文本框只能输入中文.英文.数字与指定特殊符号(屏蔽表情输入) onkeyup:释放键盘事件 onpaste:粘贴事件 oncontextmenu :鼠标右击事件 只能输入中文: ...
- JS正则表达式大全
转自:http://wenku.baidu.com/link?url=3y930kC7F6D3wQdMjQ3fVDmiA9Wfebs_QK0UB3N3mFaEoKg4ytZORPopxufeYA6si ...
- js正则表达式replace里有变量的解决方法用到RegExp类
一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但 ...
- 初识JS正则表达式
初识JS正则表达式 看到的使用的正则表达式练习:http://www.cnblogs.com/wenanry/archive/2010/09/06/1819552.html PS:本文参考李炎恢JS笔 ...
- JS正则表达式大全(整理详细且实用)
JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助!! 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释, ...
- JS 正则表达式用法
JS 正则表达式用法简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下: 测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或 ...
- (转)js正则表达式之中文验证
今天做表单提交的输入框条件验证,验证是否包含中文:网上搜了一圈基于js正则表达式的验证基本不好用,而且大多都是出自一两篇原文的转帖!到底什么才是拿来主义呢.根据搜索结果,本文取精华,告诉大家一个好用的 ...
- 常用js正则表达式大全
常用js正则表达式大全.一.校验数字的js正则表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和 ...
- js 常用js正则表达式大全
一.校验数字的js正则表达式 1 数字:^[0-9]*$ 2 n位的数字:^d{n}$ 3 至少n位的数字:^d{n,}$ 4 m-n位的数字:^d{m,n}$ 5 ...
随机推荐
- Orchard Logging
Orchard 刨析:Logging 最近事情比较多,有预研的,有目前正在研发的,都是很需要时间的工作,所以导致这周只写了两篇Orchard系列的文章,这边不能保证后期会很频繁的更新该系列,但我会写完 ...
- bootstrap悬浮顶部或者底部
这是bootstrap提供的样式,只需要引入bootstrap.css即可. 需要使用的class样式: navbar navbar-inverse navbar-inner navbar-fixed ...
- jQuery Tags Input 插件显示选择记录
利用jQuery Tags Input 插件显示选择记录 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采 ...
- Code First 启用迁移时出错 "No context type was found in the assembly"
问题:Code First 启用迁移时找不到上下文DbContext所在的项目. PM> Enable-Migrations No context type was found in the a ...
- wpf中xps文档合并功能实现
跟着上一篇的xps文档套打的文章,近期一直在研究xps打印技术,其中用户提到了一个需求,要求能够多页面进行打印,我的想法是,先生成xps文件,然后将文件读取出来以后,合并成一个文件来处理. 如果要是直 ...
- Unicode(UTF&UCS)深度历险
Unicode(UTF&UCS)深度历险 计算机网络诞生后,大家慢慢地发现一个问题:一个字节放不下一个字符了!因为需要交流,本地化的文字需要能够被支持. 最初的字符集使用7bit来存储字符,因 ...
- 空格 在不同浏览器中显示距离不一致问题解决方法
在ie.firefox.chrome浏览器上显示的效果不太一样,主要是前面的空格宽度不同. 网上资料说不同的浏览器会有不同的默认字体,一般 IE默认字体都是宋体,而firefox和chrome的默 ...
- [原创]opencv实现图像拼接,制做全景图
转载请注明:http://www.cnblogs.com/ausk/p/3332255.html 调用opencv2.4.6中的库函数,实现图像的拼接功能,傻瓜式拼接,不需要太多的专业知识.. ...
- js中的“闭包”
js中的“闭包” 姓名:闭包 官方概念:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. ( ⊙o⊙ )!!!这个也太尼玛官方了撒,作为菜鸟的 ...
- hdu4277 USACO ORZ
USACO ORZ Time Limit: 5000/1500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...