js 正则表达写法

一 javascript正则表达式的基本知识

1     javascript 正则对象创建 和用法

声明javascript
正则表达式

var reCat = new RegExp("cat");
   你也可以
    var reCat =
/cat/;    //Perl 风格 (推荐)

2 学习最常用的 test exec match search   replace  
split 6个方法

1) test   检查指定的字符串是否存在

var data = "123123";
  
var reCat = /123/gi;
   alert(reCat.test(data));   //true
  
  
//检查字符是否存在   g 继续往下走   i 不区分大小写

2) exec 返回查询值

var data =
"123123,213,12312,312,3,Cat,cat,dsfsdfs,";
   var reCat = /cat/i;
  
alert(reCat.exec(data));   //Cat

3)match   得到查询数组

var
data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
   var reCat = /cat/gi;

var arrMactches = data.match(reCat)

for (var i=0;i <
arrMactches.length ; i++)
   {
         alert(arrMactches[i]); //Cat  
cat
   }

4) search   返回搜索位置   类似于indexof

var data =
"123123,213,12312,312,3,Cat,cat,dsfsdfs,";
   var reCat = /cat/gi;
  
alert(data.search(reCat));   //23

5) replace   替换字符   利用正则替换

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
   var
reCat = /cat/gi;
   alert(data.replace(reCat,"libinqq"));

6)split
利用正则分割数组

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
  
var reCat = /\,/;
   var arrdata = data.split(reCat);

for (var i
= 0; i < arrdata.length; i++)
   {
         alert(arrdata[i]);
  
}

3   学习下   简单类 负向类   范围类   组合类

//简单类
   var data =
"1libinqq,2libinqq,3libinqq,4libinqq";
   var reCat = /[123]libinqq/gi;

var arrdata = data.match(reCat);

for (var i = 0; i <
arrdata.length; i++)
   {
         alert(arrdata[i]);   // 1libinqq
2libinqq   3libinqq
   }

//负向类
   var data =
"alibinqq,1libinqq,2libinqq,3libinqq,4libinqq";   //\u0062cf
   var reCat =
/[^a123]libinqq/gi;
   var arrdata = data.match(reCat);

for (var
i = 0; i < arrdata.length; i++)
   {
         alert(arrdata[i]);  
//4libinqq
   }

//范围类
   var data =
"libinqq1,libinqq2,libinqq3,libinqq4,libinqq5";   //\u0062cf
   var reCat =
/libinqq[2-3]/gi;
   var arrdata = data.match(reCat);

for (var i
= 0; i < arrdata.length; i++)
   {
         alert(arrdata[i]); //
libinqq2   libinqq3
   }

//组合类
   var data =
"a,b,c,w,1,2,3,5";   //\u0062cf
   var reCat = /[a-q1-4\n]/gi;
   var
arrdata = data.match(reCat);

for (var i = 0; i < arrdata.length;
i++)
   {
         alert(arrdata[i]);   // a b c 1 2 3
   }

时间: 2024-08-08 05:32:46

js 正则表达写法的相关文章

转转转---js正则表达exec与match的区别说明

正则表达式对象有两个定义方式:: 1.第一种定义: new RegExp(pattern, attributes);如var reg = new RegExp("abc","g") 其中pattern为表示表达式内容,如上表示匹配abc attributes:g,全局匹配,i不区分大小写,m执行多行匹配,用最多的为g和i 2.第二种定义:/pattern/attributes. 如:var reg = /abc/g; 正则表达的规则一些规则在此不再说明,只记录exe

centos find 的正则表达写法

find /opt -regextype "posix-egrep" -regex ".*properties|.*js|.*jsg|.*vm|.*html" |while read L;do sed -i "s/www.baidu.com/www.qq.com/g" $L;done 把/opt下所有properties js jsg vm html文件中的baidu替换成qq

js正则表达大合集【转载自:http://caibaojian.com】

[注明原文链接吧]:http://caibaojian.com 1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uPattern.test("caibaojian")); 2 密码强度正则 //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 var pPattern = /^.*(?=.{6,})(?=.

js正则表达匹配&amp;简单验证

var common = { isNotNull:function(object){ if(object == null || object == '' || object == undefined){ return false; } return true; }, MBToGB:function(mb){ return Math.round(((mb / (1024))*100)/100); }, myRound:function(number){ var result = Math.roun

js正则表达之中的字符

1,.(点):表示除换行符(\n)和其他Unicode行终止符之外的任意字符.如果要包含\n,用[.\n]. 2,*:匹配前面的子表达式出现0次或多次,表示{0,}. 3,?:匹配前面的子表达式出现0次或1次,表示{0,1}. 4,+:匹配前面的子表达式出现1次或多次,表示{1,}. 5,():括号要匹配的字符串,表达式中有几个()就有几个相应的匹配字符串.(\s*)表示连续空格的字符串. 6,[]:定义匹配的字符范围. [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字. 7,{}

js正则表达使用实例

(1)替换掉htmlStr中所有的<font..>和</font> var htmlstr='<font color="#fff">ABC</font><p>dfd</p><font color="#fff">EFG</font>';alert(htmlstr.replace(/<[^<>]*?font[^<>]*?>/gi,"

js正则表达语法

/* *通过量词可以设置一个内容出现的次数 *量词只对它前边的一个内容起作用.所以在作用多个时需要用小括号()来向计算机说明这是一个整体. *-{n}代表正好出现n次. *-{m,n}出现了m-n次. *-{m,}m次以上. */ var reg = /a{3}/ : //ababab reg = /(ab){3}/; reg = /ab{1,3}c/; //abbbc; reg = /b{3}/; //bbb; reg = /a{2,}/ //bbbaa; RegExp RegExp对象的方法

js正则实现从一段复杂html代码字符串中匹配并处理特定信息

js正则实现从一段复杂html代码字符串中匹配并处理特定信息 问题: 现在要从一个复杂的html代码字符串(包含各种html标签,数字.中文等信息)中找到某一段特别的信息(被一对“|”包裹着),并对他进行加粗.加下滑线处理. 解决思路: 1.用正则匹配“|”出现的次数,处理刚好出现2次的(html字符串中一般不会含有这个字符) 2.使用正则分组,获取“|”之间的内容,并进行替换(添加样式) 代码: function specialDeal(){ htmlStr = htmlStr.replace

Javascript正则构造函数与正则表达字面量&amp;&amp;常用正则表达式

本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达式: 使用new RegExp()构造函数 使用正则表达字面量 先说结果,使用正则表达字面量的效率更高. 下面的示例代码演示了两种可用于创建正则表达式以匹配反斜杠的方法: 1 //正则表达字面量 2 var re = /\\/gm; 3 4 //正则构造函数 5 var reg = new RegE