`
holoblog
  • 浏览: 1224649 次
博客专栏
E0fcf0b7-6756-3051-9a54-90b4324c9940
SQL Server 20...
浏览量:18894
文章分类
社区版块
存档分类
最新评论

javascript正则式

 
阅读更多

转载自 Life is Hard

JS中正规表达式有两种声明方式
1. 构造函数:var re = new RegExp('JavaScript', 'i') 其中i是正则式的模式标志,共有3个,i表示不区分大小写,g表示全局匹配,m表示多行匹配
2.直接量语法,包含在一对/中间,如 var re = /JavaScript/i

有特殊意义的字符
^ $ . * + ? = ! : | / / () [] {}
尽管有些字符只在某些特殊的环境中才会有特殊意义,不过把它们当作直接量字符使用时最好用转义符/

字符类
将单独的直接量放进方括号里就可以组合成字符类,一个字符类和它所包含的任意一个字符相匹配,如/[ab]/与a或b匹配,/[^ab]/与除ab外的任意字符匹配,/[a-z]/与所有小写字母匹配,
有一个小tip需要注意,/b在JS的正则式中是用来匹配单字的边界的,所以要匹配退格符时需要写成/[/b]/

重复
*表式重复0到多次,+表示重复1到多次,?表示重复0到1次
{n}表示重复n次,{n,m}表示n到m次,{n,}表示至少n次
需要注意的是,这种重复匹配是贪婪的
在JS1.5之后支持非贪婪的匹配,做法是在后面加一个问号,如*? +?等

选择、分组、引用
| 号用来进行选择,如/ab|cd/与ab或cd匹配,它的工作方式相当于逻辑或,如果|号前面的匹配已经成功就忽略后面的匹配,如用/a|ab/对ab进行匹配操作时,它只匹配第一个字符a
() 将括号中的字符合为一组,称为一个子表达式,可以用/后接一个数字进行引用(/1 引用第一个带括号的子表达式),由于子表达式可以嵌套,所以用左括号出现的顺序来代表子表达式的引用顺序。如匹配一对引号可以用/('")[^'"]*/1/
在JS1.5中有一种改进的括号方式(?:xxx),它只有分组的效果,而不会产生引用,/(ab)(?:cde)(fg)/2/中/2对应着(fg)

指定匹配的位置(即锚元素的使用)
^ 字符串的开头,$ 字符串的结尾,/b 为单字的边界, /B 为非单字边界
在JS1.5中,(?=xxx)可以指定一个前向的锚定条件,即字符需要匹配该条件,(?!xxx)指定一个反向的锚定条件,即字符不匹配该条件
如//bJava/b/匹配一个单字Java,它不会匹配JavaScript

一些转义字符
. (点号)匹配任意字符
/w 相当于[a-zA-Z0-9_]
/W 相当于[^a-zA-Z0-9_]
/s 任何unicode空白符
/S 任何非unicode空白符
/d 相当于[0-9]
/D 相当于[^0-9]
[/b] 退格直接量

分享到:
评论

相关推荐

    JavaScript正则表达式匹配 div style标签

    主要介绍了JavaScript正则表达式匹配<div><style>标签 的相关资料,需要的朋友可以参考下

    在 javascript 中常用的一些正则式

    在 javascript 中常用的一些正则式

    JavaScript + 正则式实现表单参数校验

    所有代码 博文链接:https://dcao.iteye.com/blog/515759

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ASPNETValidator/...

    JavaScript 正则表达式解析

    JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法. 在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp...

    正则表达式(学习的好资料)

    好东西 都是好东西咧 里面包括 C#中的常用正则表达式总结 javascript 验证url的正则表达式 JavaScript中的正则...JS与正则式强化训练作业 经典正则表达式 正则表达式--递归匹配与非贪婪匹配 正则式测试工具 等等等等

    通俗解释JavaScript正则表达式快速记忆

    我们知道,正则表达式是一个处理字符串中很实用的技巧。然而,即便是Javascript写的很厉害的程序猿,有时也会忘掉正则表达式的语法,从而使用起来有些...插入符号 “^” 表示正则式的开始。 ^a  ^用在中括号开头的

    javascript/jquery获取地址栏url参数的方法

    2、jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情 首先看看单纯的通过javascript是如何来获取url中的某个参数 代码如下:function getUrlParam(name){var reg = new RegExp...

    regexbuddy4.zip

    regexbuddy中文破解版是一款在全球非常...它支持多平台规则测试,支持正则式分组测试以及对相关字符进行高亮显示,通常我们将regexbuddy中文破解版用于jGsoft 、.Net 、Java、Prel、javascript、Python等正则式的测试!

    JGsoftRegexBuddy正则表达式工具v4.9.0零售版(Retail)

    支持多平台规则测试,支持正则式分组测试以及对相关字符进行高亮显示,支持jGsoft 、.Net 、Java、Prel、javascript、Python等正则式的测试。 编者注:这个是零售版本(Retail),没有任何功能上和时间上的限制

    使用jquery获取url及url参数的简单实例

    2、jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情 首先看看单纯的通过javascript是如何来获取url中的某个参数: //获取url中的参数 function getUrlParam(name) { var ...

    使用jquery获取url以及jquery获取url参数的实现方法

    2、jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情 首先看看单纯的通过javascript是如何来获取url中的某个参数 function getUrlParam(name) { var reg = new RegExp("(^|&...

    jquery获取url参数及url加参数的方法

    2、jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情 首先看看单纯的通过javascript是如何来获取url中的某个参数: //获取url中的参数 function getUrlPa

    正则表达式经典实例

    3.18 替换另一个正则式匹配之间的所有匹配 3.19 拆分字符串 3.20 拆分字符串,保留正则匹配 3.21 逐行查找 第4章 合法性验证和格式化 4.1 E-mail地址的合法性验证 4.2 北美电话号码的合法性验证和格式化 4.3 ...

    正则表达式测试工具及JS代码格式式工具

    对于复杂的网页编程实现,经常要用到正则表达式,拼凑出来的表达式正确不正确,如果自己去写测试代码,太费时间了,我收集的这个工具就可以很好地解决这个问题;另外工具包中还提供一个JavaScript代码格式转换工具,...

    正则表达式+逆波兰式的计算器

    用正则表达式和逆波兰表达式来写的表达式计算器

    正则表达式经典实例.pdf

    3.18 替换另一个正则式匹配之间的所有匹配 3.19 拆分字符串 3.20 拆分字符串,保留正则匹配 3.21 逐行查找 第4章 合法性验证和格式化 4.1 E-mail地址的合法性验证 4.2 北美电话号码的合法性验证和格式化 4.3 国际...

    正则表达式

    我们已经发现了,在正则表达式中所有的字母字符和数字都是按照字面意思与自身相匹配的.JavaScript的正则表达式还通过以反斜杠(\)开头的转义序列支持某些非 字母字符.例如,序列 "\n" 在字符串中匹配的是一个直接量换...

    ASP.NET读Excel、正则大全、加密算法

    平时写程序的一点总结,如读取Excel文件,Javascript的正则式

    JavaScript征途

    JavaScript对象,数组,字符串,使用正则表达式操纵字符串,客户端,控制文档结构的模型,JavaScript事件驱动模型,CSS,Cookie,XML和JSON,Ajax,深入JavaScript面向对象编程,深入JavaScript函数式编程,深入...

Global site tag (gtag.js) - Google Analytics