正则表达式的快速使用

基本修饰符:

 

  • '\':反斜杠,转义字符
  • '\r':行结束
  • i:忽视大小写
  • g:全局匹配
  • m:多行匹配
  • s:默认情况下的圆点 . 是 匹配除换行符 \n 之外的任何字符,加上 s 之后, . 中包含换行符 \n

    

    //实例:
    var str="google\nrunoob\ntaobao";
    var n1=str.match(/google./);   // 没有使用 s,无法匹配\n
    var n2=str.match(/runoob./s);  // 使用 s,匹配\n

 

  • $:以某个字符为结尾

 

常用元字符:

 

  • ^:以符号后面跟着的字符为开头的匹配
  • []:可变的,一个[]代表一位,[]里填写的是可变范围    

    

    //实例;
    [0-9A-Z]:阿拉伯数字+26个英文字母

 

  • [^]:非
  • (|):或
  • ():子表达式
  • ()\:匹配子表达式里的反向引导
  • \w:[A-Za-z0-9_]
  • \W:[^\w]
  • \d:[0-9]
  • \D:[^\d]
  • \s:空格、制表、回车、换页、换行[\t\n\r\v\f]
  • \b:单词边界
  • \o:查找NULL字符
  • \u:ASII编码
  • ·:查找单个字符,除了换行和行结束符

 

量词:

 

  • n+:{1,+∞}可以出现1次到多次
  • n*:{0,+∞}可以出现0次到多次
  • n?:{0,1}0-1次
  • n{x}:{0,x}可以出现0-x次

 

常用的字符串比较函数(JS):


1.test() 方法用于检测一个字符串是否匹配某个模式.
    

    //如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。
    RegExpObject.test(string)

2.match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
  

    //要检索的字符串值。
    stringObject.match(searchvalue)
    //规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
    stringObject.match(regexp)

3.replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
    

    //regexp/substr:子字符串或要替换的模式的 RegExp 对象
    //replacement:替换文本或生成替换文本的函数
    stringObject.replace(regexp/substr,replacement)


常用的正则表达式:

用户名: /^[a-z0-9_-]{3,16}$/
密码: /^[a-z0-9_-]{6,18}$/
十六进制值: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/
电子邮箱:

/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/

/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/

URL: /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
IP 地址: /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
HTML 标签: /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
删除代码\\注释: (?<!http:|\S)//.*$
Unicode编码中的汉字范围: /^[\u2E80-\u9FFF]+$/
头尾空格: /^\s+|\s+$/g
多个换行只保留一个: /[\n]{2,}/g
emoji

/[^\x00-\xff]/g 

/[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/g











 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

上一篇:小程序云开发中的正则表达式


下一篇:如何把日期格式化为指定格式?