JS 正则表达式中小括号的应用
主要使用的有下面三种:
1. (...)
Grouping. Group items into a single unit that can be used with *, +, ?, |, and so on. Also remember the characters that match this group for use with later references.
2. (?:...)
Grouping only. Group items into a single unit, but do not remember the characters that match this group.
3.
(?=p) A positive lookahead assertion. 或
(?!p) A negative lookahead assertion.
用于测试的字符串:url(skins/default/images/index/default.png)
红色字符为匹配上的结果
第一种,用于普通分组,能记住匹配该分组的字符串,并且可以在以后通过\1的方式来引用所匹配到的分组
eg: (\/)匹配url(skins/default/images/index/default.png)
(\/)default\1匹配url(skins/default/images/index/default.png)
第二种,用于分组,不记录匹配该分组的字符串
eg: (?:\/)default匹配url(skins/default/images/index/default.png)
第一、二两种方式匹配的结果里都包含有该分组匹配到的结果,在例子中是"/default"中的"/"
第三种,只用于确定位置,最终结果里并不包含该括号匹配到的结果
eg: (?!\/)default匹配url(skins/default/images/index/default.png)
eg: default(?=\/)匹配url(skins/default/images/index/default.png)
相关推荐
-
JavaScript 正则表达式之RegExp属性、方法及应用分析
使用RegExp的显式构造函数,语法为:new RegExp("pattern"[,"flags"]). 使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]. pattern部分为要使用的正则表达式模式文本,是必须的.在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号括起来:在第二种方式中,pattern部分嵌套在两个"/"之间,不能使用引号. flags部分设置正则表达
-
JS的replace方法与正则表达式结合应用讲解
复制代码 代码如下: <script language="javascript"> var stringObj="终古人民共和国,终古人民"; //替换错别字"终古"为"中国" //并返回替换后的新字符 //原字符串stringObj的值没有改变 var newstr=stringObj.replace("终古","中国"); alert(newstr); &l
-
js replace正则表达式应用案例讲解
var url = "http://www.xxx.com/index.aspx?classid=9&id=2"; 要获取尾巴参数 定义变量 复制代码 代码如下: function parse_url(_url){ //定义函数 var pattern = /(\w+)=(\w+)/ig;//定义正则表达式 var parames = {};//定义数组 url.replace(pattern, function(a, b, c){ parames[b] = c; }); /*
-
JavaScript中正则表达式的概念与应用
今天和大家分享一些关于正则表达式的知识和在javascript中的应用.正则表达式简单却又不简单,比如以前我的老师给我们讲的时候就说这个东西入门的话二三十分钟就精通了,一旦没有入门那就可几天都补不回来.于是当初就很认真的学习并研究了它.没想到正则表达式不仅代码简洁,而且在实际的操作中为前端工程师们省事了不少.总所周知,用户在浏览页面的时候,唯一和数据打交道的就是表单了,关于表单的验证,其实有很多中方法,接下来,我就会给大家分享两种,一种是普通繁琐的方法,一种是正则表达式,看看它到底能够给表单带来
-
JavaScript正则表达式之multiline属性的应用
多行正则表达式是对象的只读布尔属性.它指定是否一个特定的正则表达式进行多行匹配,即,不管是否使用"m"属性创建. 语法 RegExpObject.multiline 下面是参数的详细信息: NA 返回值: 如果"m"修改被设置返回"TRUE",否则返回"FALSE". 例子: <html> <head> <title>JavaScript RegExp multiline Property&
-
JS应用正则表达式转换大小写示例
js中应用正则表达式转换大小写,代码很简单,看代码: 以下首字母大写,其它字母小写 <script type="text/javascript"> function replaceReg(reg,str){ str = str.toLowerCase(); return str.replace(reg,function(m){return m.toUpperCase()}) } var reg = /\b(\w)|\s(\w)/g; var str = 'share jav
-
JavaScript正则表达式校验与递归函数实际应用实例解析
JS递归函数(菲波那切数列) 实例解析: 一组数字:0 1 1 2 3 5 8 13 0 1 2 3 4 5 6 7 sl(0)=0; sl(1)=1; sl(2)=sl(0)+sl(1); sl(3)=sl(1)+sl(2); function sl(i){ if(i==0){ return 0; }else if(i==1){ return 1; }else{ return sl(i-1)+sl(i-2); } } 正则表达式检验 //校验是否全由数字组成 function isDigit(
-
使用JS正则表达式 替换括号,尖括号等
如下所示: function toTxt(str) { var RexStr = /\<|\>|\"|\'|\&/g str = str.replace(RexStr, function(MatchStr) { switch (MatchStr) { case "<": return "<"; break; case ">": return ">"; break; case
-
JS 正则表达式中小括号的应用
主要使用的有下面三种: 1. (...) Grouping. Group items into a single unit that can be used with *, +, ?, |, and so on. Also remember the characters that match this group for use with later references. 2. (?:...) Grouping only. Group items into a single unit, bu
-
浅谈JS正则表达式的RegExp对象和括号的使用
RegExp对象的创建: 常规的正则表达式的创建可用直接量,即斜杠 "/" 括起来的字符.但在要求参数变化的环境下,RegExp()构造函数是更好的选择: var reg1 = /'\w+'/g; var reg2 = new RegExp('\'\\w+\'','g'); 对比两种创建方式,RegExp中的第一个参数为要创建的正则字符串,一方面注意,因为不是直接量的表示形式,因此不用斜杠" / "括起来了:而是字符串中必须要对引号" ' "和转
-
超全的js正则表达式整理笔记
var reCat = new RegExp("cat", "gi"); //RegExp构造函数可以带一个或两个参数,第一个参数描述需要进行匹配的模式字符串,第二个参数指定了额外的处理命令 var reCat = /cat/gi; //使用Perl风格的语法 i:执行对大小写不敏感的匹配 g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止) m:执行多行匹配 元字符 元字符是表达式语法的一部分,在正则表达式中用到的所有元字符有:{ [ ( \ ^ $ |
-
js正则表达式学习笔记
正则表达式:对字符串中的信息实现查找.替换和提取操作.(不支持注释和空白,必须写在一行内) 正则表达式的创建:包含在一对斜杠之间的字符(直接量语法) 例如: var pattern = /s$/; // 创建一个正则来匹配所有以字母s结尾的字符串,并赋值给pattern 一 .字符类 将直接量字符单独放进方括号内就组成了字符类. 一个字符类可以匹配它所包含的任意字符. 正则表达式的字符类: [...] 方括号内的任意字符 [^...] 不在方括号内的任意字符 .
-
JS正则表达式大全(整理详细且实用)
正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*". ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配&q
-
js正则表达式学习和总结(必看篇)
最近在做一个小项目时用到了正则匹配,感觉正则挺好用的,所以打算抽时间来小小总结一下. 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符").模式描述在搜索文本时要匹配的一个或多个字符串.RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具.正则表达式是一种查找以及字符串替换操作. 新建正则表达式 方式一:直接量语法 var reg = /pattern/attributes 方式二:创建 RegExp 对象的语法 var r
-
详解js正则表达式语法介绍
本文介绍了js正则表达式,具体如下: 1. 正则表达式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符. 举例1:表达式 "c",在匹配字符串 "abcde" 时,匹配结果是:成功:匹配到的内容是:"c":匹配到的位置是:开始于2,结束于3.(注:下标从0开始还是从1开始,因当前编程语言的不同而可能不同)
-
AS3 js正则表达式 反向引用(backreference)
as3代码: var str = ""; var reg = /(\d{}) \/gx; // \ 即为反向分组,代表前一个分组相同的匹配结果字符.如\d{} 匹配了,那么\也只能为匹配, var first=str.match(reg); //match(),返回一个对象,如果reg有全局属性g,对象的数字索引为各完全匹配字符, //如果无全局属性g,索引为第一次完全匹配字符,其他索引依次为各分组匹配字符 for(var key in first) { trace("第一次
-
深入理解JS正则表达式---分组
深入理解JS正则表达式---分组 之前写了一篇关于正则新手入门的文章,本以为对正则表达式相对比较了解 但是今天我又遇到了一个坑,可能是自己不够细心的原因吧,今天就着重和大家分享一下javascript正则表达式中的分组.如果你对JS正则表达式不够理解 可以点击这里了解更多. 分组在正则中用的还是比较广的,我所理解的分组 就是一对括号() ,每一对括号 就代表了一个分组,分组可以分为: •捕获性分组 •非捕获性分组 捕获性分组 捕获性分组会在 比如 match exec这样的函数中以第二项,第三项
随机推荐
- Angular.js中下拉框实现渲染html的方法
- JS实现匀速运动的代码实例
- 详解基于Linux下正则表达式(基本正则和扩展正则命令使用实例)
- java中多态概念、实现原理详解
- python获取文件扩展名的方法
- JS实现的简单四则运算计算器功能示例
- 基于python发送邮件的乱码问题的解决办法
- Python 的描述符 descriptor详解
- 用Python输出一个杨辉三角的例子
- python 时间戳与格式化时间的转化实现代码
- js输出阴历、阳历、年份、月份、周示例代码
- jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
- Node.js Addons翻译(C/C++扩展)
- Apache httpd 安装module mod_expires、mod_deflate的方法
- TextView使用SpannableString设置复合文本 SpannableString实现TextView的链接效果
- Android中Fragment的加载方式与数据通信详解
- c++中const的使用详解
- java计算百分比值的方法
- 用ASP实现远程将文件批量改名的代码
- 用php实现选择排序的解决方法