counter
counter

javascript 正则表达式

1.使用RegExp对象:

var cat=new RegExp("字符串","额外指令")

正则表达式:/字符串模式/额外的处理指令

该对象有test()方法:RegExp对象.test(需要测试的字符串),返回true或false;

         exec()方法:RegExp对象.exec(需要测试的字符串),返回一个数组;

       match()方法:需要测试的字符串.match(RegExp对象),返回满足的数组;

       search()方法:需要测试的字符串.search(RegExp对象),返回第一个出现匹配的字符串的首字母的位置。

      function add() {
          //  var hen = ["cat","cats","catsf","catdfd"];
            //var rehen = /cathd/;
            var rehen = new RegExp("cats");
            // alert(rehen.test(hen)); //true


            var hen = "cat,cats,catsfg";
            //var ass = hen.match(rehen); 
            var ass = hen.search(rehen);
            alert(ass); //4

        }

  

2.Replace()

   字符串.repalce(参数一,参数二):参数一被参数二替换。 参数一为字符串或正则表达式(对字符串对象测试满足的字符串统一替换,如/red/g表达式),参数二为字符串或函数。

View Code
 1         function Sreplace() {
 2 
 3             var shs = "asa,ijiansa,asdssa";
 4             var yl = shs;
 5             var zz = /sa/g;
 6             var hl= shs.replace(zz, function () {
 7                 return "lll";
 8             });
 9            
10             alert("原来:"+yl+"后来:"+hl);
11 
12         }

3.split(),将字符串分割成一系列字符串,并通过一个数组返回。

4.正则表达式用到的元字符:([{\^$|)?*+.。 当使用这些元字符的时候,必须进行转义,如 匹配一个问号:var reg=/\?/ (转义问号)或 var reg=new RegExp("\\?")(转义问号和反斜杠)双重转义。删除字符串中所有的换行符(常用于处理用户输入的文本) var str=stringwith.replace(/\n/g,"")

5.字符类:

  ①:简单类:/[abc]at/gi  不区分大小写,字符串对象中所有的满足aat,bat,cat的字符串,字符串对象.match(正则) 返回字符串数组。

②:负向类:/^[bc]at/gi   不区分大小写,满足不以b或c开头的,即bat,cat字符串。

③:范围类:/m[a-z]/gi  不区分大小写,满足ma/A或mb/B...mz/Z的字符串。负向类写法:/m[^a-z]/gi,排除ma/A和mb/B....mz/Z的字符串

④:组合类:以上三种的组合,如/a-m1-4\n/ 匹配所有从a-m的字母以及从1-4的数字以及一个换行符,是且的关系。不支持联合类和交叉类,如/a-m[p-z]/或/a-m[^b-e]/

⑤:预定义类:如:\d 匹配数字。var sz="532 623 123 sskf"  匹配三个数字:/\d\d\d/

6.量词:

①:简单量词:? 出现零次或一次,* 出现任意次,+至少出现一次,{n}至少出现n次,{n,m}至少n次,至多m次,{n,}至少n次

        如:/b?re?d/ 或/b{0,1}re{0,1}d/  即b出现零或一次,跟着r,跟着e出现零或一次,跟着d。 匹配单词:bred,brd,rd,red

 

  

posted @ 2012-07-13 14:40  bfy  阅读(204)  评论(0编辑  收藏  举报