码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2015-06-09 13:27:57      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

一、基础知识
  • 语法:直接量的语法: /pattern/attributes(/正则/正则属性)
  • RegExp 对象的语法: new RegExp(pattern, attributes);
    • pattern里面为一个字符串,代表的就是正则
    • attributes为可选字符串
      • g:指定全局变量
      • i:区分大小写的匹配
      • m:多行匹配
  • 元字符
    •  .  :查找单个字符,除了换行和行结束符。
    • \w:查找单词字符。
    • \d:查找数字。
    • \s :查找空白字符(空格)。
    • \b:匹配单词边界
    • \n:查找换行符
    • \u:匹配汉字
    • n$:匹配任何结尾为 n 的字符串。
    • ^n:匹配任何开头为 n 的字符串。
  • 方括号
    • [abc]   :查找方括号之间的任何字符。 
    • [^abc]:查找任何不在方括号之间的字符。
    • [0-9]:查找任何从 0 ~ 9 的数字。
    • [a-z]:查找任何从小写 a ~小写 z 的字符。
    • [A-z]:查找任何从大写 A ~小写 z 的字符。
  • 量词
    • n+ :匹配任何包含至少一个 n 的字符串。
    • n*  :匹配任何包含零个或多个 n 的字符串。
    • n?  :匹配任何包含零个或一个 n 的字符串。
    • n{X} :匹配包含 X 个 n 的序列的字符串。
    • n{X,Y} :匹配包含 X 到 Y 之间某个数n的个 n 的序列的字符串。
  • 正则方法:
    • search:检索与正则表达式相匹配的值。
    • match:找到一个或多个正则表达式的匹配。基本需要配合g
    • replace:替换与正则表达式匹配的子串。
    • test:匹配字符串之间是否存在与正则表达式相匹配的结果,有则返回true,无返回false
 
二、使用方法:
  • replace
    • str=obj.replace(正则, "替换后的内容");
    • str=obj.replace(正则, function ( ){ });
  • match
    • arr=obj.match(正则);
  • search
    • str=obj.search(正则);
  • test
    • 正则.test( obj );
    • 注意:这个正则位置与上面的都不一样
 
三、符号
  • \:能使字符变为有意义或无意义
  • |:或
 
四、小括号
  • 在match中的小括号:会形成只有2个元素的数组
    • 第 1 个为原来查找的对象
    • 第 2 个是最后查找到的元素
 
五、几种常用的正则匹配
IP地址的正则:re=/^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.\d|\.[1-9]\d|\.1\d{2}|\.2[0-4]\d|\.25[0-5]){3}$|^0\.0\.0\.0$/;
邮箱正则: re=/^[0-9a-z]{9,13}@[0-9a-z]{2,8}(\.[a-z]{2,4}){1,4}$/;
呢称正则:re=/[\u4e00-\u9fa5]/g;
座机正则:re=/^\(0\d{2,3}\)-\d{7,8}$|^0\d{2,3}-\d{7,8}$|^\d{7,8}$/;
 

正则表达式

标签:

原文地址:http://www.cnblogs.com/pan-hello/p/4562989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!