正则表达式中,许多标点符号具有特殊含义,比较难记,现归纳备个份:

这些符号有:^ $ . * +  - ? = ! : | \ / ( ) [ ] { }

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正则表达式之特殊符号的更多相关文章

  1. JS 正则表达式 控制文本框只能输入中文、英文、数字与指定特殊符号

    JS 正则表达式 控制文本框只能输入中文.英文.数字与指定特殊符号(屏蔽表情输入) onkeyup:释放键盘事件 onpaste:粘贴事件 oncontextmenu :鼠标右击事件 只能输入中文: ...

  2. JS正则表达式大全

    转自:http://wenku.baidu.com/link?url=3y930kC7F6D3wQdMjQ3fVDmiA9Wfebs_QK0UB3N3mFaEoKg4ytZORPopxufeYA6si ...

  3. js正则表达式replace里有变量的解决方法用到RegExp类

    一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但 ...

  4. 初识JS正则表达式

    初识JS正则表达式 看到的使用的正则表达式练习:http://www.cnblogs.com/wenanry/archive/2010/09/06/1819552.html PS:本文参考李炎恢JS笔 ...

  5. JS正则表达式大全(整理详细且实用)

    JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助!! 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释, ...

  6. JS 正则表达式用法

    JS 正则表达式用法简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下: 测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或 ...

  7. (转)js正则表达式之中文验证

    今天做表单提交的输入框条件验证,验证是否包含中文:网上搜了一圈基于js正则表达式的验证基本不好用,而且大多都是出自一两篇原文的转帖!到底什么才是拿来主义呢.根据搜索结果,本文取精华,告诉大家一个好用的 ...

  8. 常用js正则表达式大全

    常用js正则表达式大全.一.校验数字的js正则表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和 ...

  9. js 常用js正则表达式大全

    一.校验数字的js正则表达式   1 数字:^[0-9]*$     2 n位的数字:^d{n}$     3 至少n位的数字:^d{n,}$     4 m-n位的数字:^d{m,n}$     5 ...

随机推荐

  1. MVC与Validate验证提示的样式修改

    MVC中使用Validate的验证,要修改错误提示样式一共有3处需要修改,否则就不太完美了: MVC中的Validate的验证机制只用在后台写一次,就可以完成前台和后台的完美验证,前台的验证主要是依靠 ...

  2. IP数据报是如何在网络中转发的?

    首先发送方抽取目的站的网络前缀,来判断是否目的站是否位于同一网络上,如果在二者有相同的网络前缀,则,直接使用直接交付的方式, 否则,使用由路由器互连的间接交付,这要借助IP路由表,采用表驱动法,路由表 ...

  3. WCF 自承载

    WCF 自承载 提供源码 一.WCF 简单介绍 Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,是一套通讯接口.现在比较流行的S ...

  4. 设计适用于SOA的类型(二)

    接着上次的,以扩展String类型为例,继续根据自己的使用习惯闭门造车!   这一次我重载了运算符 = 和 + ,我觉得这样更方便我的使用.首先先贴代码: /// <summary> // ...

  5. 安装升级System.Web.Optimization.dll

    今天在使用backload时,VS提示solution所引用的System.Web.Optimization.dll 版本低,编译不过,于是便删掉,从新添加引用,悲剧的是在添加引用窗口中没找到,在Nu ...

  6. 代码高亮插件推荐——SyntaxHighlighter++

    SyntaxHighlighter++这个插件的最大的优点就是可以在编辑器的下方有一个输入框,里面可以输入代码,然后插入到文章中.就不用编辑文章的时候,在可视化和文本之间来回切换了.非常适合不熟悉ht ...

  7. ELF二进制目标文件详解

    以下内容为<<linux内核编程>>笔记 链接程序 找出所有引用的外部模块并链接起来,这些外部模块或函数库一般来自于开发者,操作系统和C运行库. 链接程序取出这些函数库,修订指 ...

  8. 实现Avl平衡树

    实现Avl平衡树   一.介绍 AVL树是一种自平衡的二叉搜索树,它由Adelson-Velskii和 Landis于1962年发表在论文<An algorithm for the organi ...

  9. 不想作死系列---virtualbox最小化安装centos6.5

    背景: 最近已经重装了5个系统,实在不想折腾了.于是打算在虚拟机中安装所需环境. 系统版本: 宿主机:win7 virtualbox4.3.10 centos 6.5(final) 1.下载安装vir ...

  10. 更有效率的使用Visual Studio2

    PS色调均化滤镜的快捷实现(C#源代码). photoshop色调均化功能通常是在进行修片处理前期比较常用的功能之一,其对扩展图像的对比度,增强视觉效果有一定的作用.在很多课本或者文章中,也称这种处理 ...