正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下:测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段...
今天想改一下JS的高亮的配色,憋了一下午憋出了这个这个正则表达式。 下面这老长老长了的玩意儿是个正则表达式,看到了别吓坏了。代码如下:/(\/\/.*|\/\*[\S\s]+?\*\/)|((["])(?:\\.|[^\\\n])*?\3)|\b(break|continue|do|for|in|function|if|else|return|switch|this|throw|try|catch|finally|var|while|with|case|new|typeof|instance|delete|void)\b|\b(Object|Array|String|Number|Boolean|Function|RegExp|Date|Math|window...
最近遇到一个需求,传入一个字符串,每三个字符插入一个空格 例: 传入abcd1234 输出 abc d12 34 思考了一下,准备写一个函数如下 代码如下:function appendSpace(s) { var length = s.length; var result = ""; var last = 0; for(var i = 3;i<=length;i=i+3,last = last+3) { result = result+s.substring(i-3,i)+" "; } result = result+s.substring(last,length); return result; } 感觉这个函数有点屌丝。。。 于是换了repl...
学了几天正则,差不多该总结整理写成果了,之前就想写语法高亮匹配来着,不过水平不够,看着例子都不理解。 那么我们来分析下两位大神 次碳酸钴 和 Barret Lee 语法高亮实现。 先说 Barret Lee 的这篇 《几个小例子教你如何实现正则表达式highlight高亮》 之前看的时候只觉的神奇,特别是下面那个一步一步分开匹配的例子,更是霸气测漏,不过作者也说了,分开只是为了演示方便,可以很直观的看到这一步匹配了什么,不然一步到位匹配...
今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享。 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配。(因为我想学完之后写个语法高亮练手,所以用js代码当作例子)代码如下:var str1 = "我是字符串1哦,快把我取走", str2 = "我是字符串2哦,快把我取走"; 比如这样一个字符串,匹配起来很简单 /"[^"]*"/g 即可。 PS: 白色截图是 chrome 34 控制台中运行的结果,深灰色是 sublime text 结果。 很容...
实现的效果:在字符串中abcdefgname=testsddfhskshjsfsjdfps中获取name的值test 实现的机制:通过replace的回调函数获取。 代码: 代码如下: var str = "abcdefgname=testsddfhskshjsfsjdfps"; var reg = /name=((\w|-|\s)+)/ig; str.replace(reg, function() { console.log(arguments.length); //5 console.log(arguments[1]);//test }); 注意:replace有5个回调函数。 PS:关于正则,本站还提供了一个非常简便实用的正则测...
功能说明:该方法可以编译指定的正则表达式,编译之后的正则表达式执行速度将会提高,如果正则表达式多次被调用,那么调用compile方法可以有效的提高代码的执行速度,如果该正则表达式只能被使用一次,则不会有明显的效果。 基本语法:objReg.compile(pattern[,flag]) objReg必选项,RegExp对象变量的名称 pattern 必选项 正则表达式 flag 可选项 匹配选项 代码如下:<html> <script language="javascript" type="text/javascript"...
1.lastIndex属性,返回匹配内容的最后一个索引位置,也就是下一个匹配的开始位置,注意字符串索引从0开始 代码: //设置要匹配的内容 var objStr="abfdabcd"; //设置匹配的正则表达式 var re=/abc/; //输出匹配前的字符串 document.write("未匹配前的字符串"+objStr+""); //输出匹配的内容 document.write("匹配的内容"+objStr.match(re)+""); //document.write(RegExp.index); //输出匹配内容的最后一个索引 document....
匹配中文字符的正则表达式: 代码如下:[\u4e00-\u9fa5]匹配双字节字符(包括汉字在内): 代码如下:[^\x00-\xff]应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 代码如下:String.prototype.len=function(){ return this.replace([^\x00-\xff]/g,"aa").length; }匹配空行的正则表达式: 代码如下:\n[\s|]*\r匹配HTML标记的正则表达式: 代码如下:/<(.*)>.*<\/\1>|<(.*) \/>/匹配首尾空格的正则表达式: 代码如下:(^\...
功能说明:该属性为RegExp的静态只读属性,该属性的值为与RegExp对象所描述的正则表达式进行匹配检测的字符串,该属性也可以表示成$_ 代码如下:<html> <script language="javascript" type="text/javascript"> //objStr 为待匹配的内容 var objStr=abcDdefCDDE; //创建正则表达式,i表示匹配忽略大小写 var re=/cd+e/i;//+表示之前的子匹配出现一次或者多次 document.write(objStr+"<br>"); //匹配字符串 objStr.match(re); //该属...
JavaScript经常会验证中文,这里提供两个例子: Javascript代码: 代码如下:/** *A simple example */ function ischinese(temp){ var re = /[^u4e00-u9fa5]/; if(re.test(temp)) return false; return true; } <p>/** *校验字符串是否为中文 *返回值: *如果为空,定义校验通过, 返回true *如果字串为中文,校验通过, 返回true *如果字串为非中文, 返回false 参考提示信息:必须为中文! */ function ischinese2(str){ //如果值...
功能:返回与正则表达式查找内容匹配的第一个子字符串的位置 语法:stringObj.search(rgExp) stringObj 必选项 rgExp正则表达式 返回值:search 方法指明是否存在相应的匹配。如果找到一个匹配,search方法将返回一个整数值,指明这个匹配距离字符串开始的偏移位置。如果没有找到匹配,则返回 -1 示例代码: 代码如下:<html> <script language="javascript" type="text/javascript"> //search 方法指明是否存在相应的匹配。如果找...
功能:使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回 函数格式:stringObj.match(rgExp) stringObj为字符串必选 rgExp为正则表达式必选项 返回值:如果能匹配则返回结果数组,如果不能匹配返回null 代码如下:<html> <script language="javascript" type="text/javascript"> //使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回 var objStr=new String("Yue I love you till the end of...
正则表达式:语法:/expression/,斜杠表示起始位置创建方式: 1、var regObj = new RegExp("pattern",[,"flags"]); pattern:必选项,正则表达式的字符串; flags:可选项,一些标志组合。 2、var regObj = /pattern/[flags];该方式不能用引号将pattern和flags括起来。 正则表示对象RegExp对象的方法: exec:检索字符中是正则表示的匹配,返回找到的值,并确定其位置。 eg: var str = "abcdef...
正则表达式replace()函数: 此函数用指定的字符串替换字符串中与正则表达式匹配的子字符串。 返回值是一个替换后的新字符串。 这里只介绍正则表达式的相关操作,其他替换操作可以参阅javascript的String对象的replace()方法一文。 语法结构: stringObject.replace(regexp,replacement) 参数列表如下:参数名称语义解释regexp必需。RegExp对象。replacement必需。一个字符串值。规定了替换文本或生成替换文本的函数。 实例代码: <scr...