zoukankan      html  css  js  c++  java
  • 正则表达式

    js中的正则表达式

    JavaScript正则表达式在线测试工具:
    http://tools.jb51.net/regex/javascript
    正则表达式在线生成工具:
    http://tools.jb51.net/regex/create_reg

    正则表达式的创建

    //使用RegExp对象创建
    var regObj = new RegExp("(^\s+)|(\s+$)","g"); // 双斜杠表示转义
    
    //使用直接字面量创建
    var regStr = /(^s+)|(s+$)/g;
    

    修饰符

    修饰符 描述
    i 大小写不敏感
    g 全局匹配
    m 多行匹配

    范围

    注:[]只能匹配一个字符

    表达式 描述
    [abc] 方括号内的任意字符
    [^abc] 非方括号内的任意字符
    [0-9] 0到9的任意数字
    [a-z] a-z的任意小写字母
    [A-Z] A-Z的任意大写字母
    [abcd] abcd中的任意一个字母
    (a b

    元字符

    元字符:拥有特殊含义的字符

    元字符 描述
    . 除了换行和行结束符的任意单个字符
    w 单词字符
    W 非单词字符
    d 数字
    D 非数字
    s 空白字符
    S 非空白字符
     匹配单词边界
    B 匹配非单词边界
    NULL字符
    换行符号
    f 换页符
    回车符
    制表符
    v 垂直制表符
    xxx 八进制 xxx 规定
    xdd 十六进制数 dd 规定的字符
    uxxxx 十六进制数 xxxx 规定的Unicode字符

    量词

    量词 描述
    + [1,+∞]个
    * [0,+∞]个
    ? [0,1]个
    {n} n个
    {n,m} [n,m]个
    {n,} [n,+∞]个
    x$ 以x结尾的字符串
    ^x 以x开头的字符串
    ?=x 其后紧跟指定字符串n的字符串
    ?!x 其后没有紧跟指定字符串n的字符串

    RegExp对象方法

    方法 描述
    compile 编译正则表达式
    exec 检索字符串中指定的值。返回找到的值,并确定其位置
    test 检索字符串中指定的值,返回true/false

    代码:

    // exec方法:
    var str = "Visit W3School";
    var patt = new RegExp("W3School","g");
    var result;
    
    while ((result = patt.exec(str)) != null)  {
      console.log(result);  // W3School
      console.log(patt.lastIndex);  // 14
     }
    
    
    // test方法
    var str = "Visit W3School";
    var patt1 = new RegExp("W3School");
    
    var result = patt1.test(str);
    
    console.log(result);   // true 
    

    支持正则表达式的String对象的方法

    方法 描述
    search 检索与正则表达式相匹配的值,返回的是位置
    match 找到一个或多个正则表达式匹配值,返回的是值
    replace 替换与正则表达式匹配的子串
    split 把字符串分割为字符串数组

    代码:

    // search:返回第一个匹配值的起始位置,如果无匹配值,则返回-1
    var str="Visit W3School!"
    console.log(str.search(/W3School/));  // 6
    
    
    // match:找到一个或者多个正则表达式的匹配值
    var str="1 plus 2 equal 3"
    console.log(str.match(/d+/g));  // 1,2,3
    
    
    // replace: 替换正则指定的字符串
    var str="Visit Microsoft!"
    console.log(str.replace(/Microsoft/, "W3School"));  // Visit W3School!
    
    
    
    // 把字符串分割成字符串数组
    
    var words = sentence.split(' ')
    // 或者:
    var words = sentence.split(/s+/)
    
    
    "hello".split("", 3)	//可返回 ["h", "e", "l"]
    

    常用正则表达式

    ^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$
    
  • 相关阅读:
    HTML当中特殊字符的表示
    溢出文本用“...”代替
    【转】图标字体化浅谈
    字体在网页中画ICON图标
    图片轮播
    js获取网页屏幕可视区域高度
    MVC入口程序 | 简单调用及实例化
    初学者对于MVC架构模式学习与理解
    PHP初学习笔记(2015/4/8)
    linux常用20命令 --转载
  • 原文地址:https://www.cnblogs.com/Yfling/p/6701270.html
Copyright © 2011-2022 走看看