代码改变世界

javascript 的正则简要

2009-03-07 11:14  wlstyle  阅读(214)  评论(0)    收藏  举报

javascipt支持的正则支持很多中方式:

1简单模式:

    var regExp=/[ab]c/g;

    这样就匹配 ac 或者bc;如果需要求非的操作 可以使用操作符^.比如这样

    var regExp=/[^ab]c/g;

    这样就匹配除ac,bc之外的其他的字母组合 。还可以使用范围。比如

   var regExp=/[a-e]c/g;

   这样就匹配ac bc 到ec了。

2.复杂模式

    2.1分组模式:

          分组模式可以这样定义

          var regExp=/(abc)/g;

          这样就能匹配包含连续的abc三个字符的字符串了。也可以结合一些两次进行匹配。比如*? +? 还有??。

          var regExp=/^/s+(.+?)*/s+$/ 加上replace函数就可以去除相应字符串的前后空白。

   2.2 反向引用

        分别用$1,$2依次类推表示分别的匹配。

   2.3 非捕获型分组

         var regExp=/<(?:.|\s)*>/ 非捕获型分组不保存反向引用这样提高匹配的速度。

         这也正则表达式可以用来取出所有的html标签。利用replace()函数。

  2.4 前瞻

        分正向前瞻和负向前瞻

        正向前瞻为 var regExp=/bed(?=room)/;表示含有room的bed;比如 bedroom这样是匹配的而bedweding就不匹配了

        负向前瞻为var regExp=/bed(?!room)/;表示不含有room的bed。和前一种情况相反。bedweding是匹配的而bedroom是不匹配的。

  2.5 候选

        如果要同时匹配两个条件 而这两个条件又风马牛不相干,那么可以使用候选 。

        比如同时要匹配black和red字符。那么可以这样定义

        var regExp=/(red)|(black)/g; 这可以用来过滤某些你不愿意看到的值。