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

    一 正则表达式(regular expression)用于匹配字符串,是字符模式的对象。
    RegExp对象语法:
        1   var patt=new RegExp(pattern,modifiers);
    • (pattern(模式) 描述了表达式的模式
    •    modifiers(修饰符) 用于指定全局匹配、区分大小写的匹配和多行匹配)
     
    2 字面量创建正则表达式:var expression =/ pattern / flags;
    • 注意:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 )。比如,以下是等价的:
    var re = new RegExp("\w+");
    var re = /w+/;
     
    一    字符类(九种):    
    .    任意字符(除了 换行的字符);
    [   ]   限定字符范围,只对单字符而言;
    数字:(d:data)
    d  [0~9];
    D [^0~9];
    字符:(s:space)
    s   所有不可见字符(如:空格,tab, 回车换行);
    S  所有可见字符;
    w  [0~9a~zA~Z]:字符,字符包括字母、数字、下划线:(w:word)
    W  [^0~9a~zA~Z]:非字符
     
    二    次数(四种):  
    ?   0个或一个;
    *  0个或多个;
    +   一个或多个;
    {m,n}  大于等于m,小于等于n;
    {n}   前面一个字符或者()内的内容出现n次;
    {n,}    前面一个字符或者()内的内容至少出现n次;
     
    三 分组和引用(四种):
      |          左边的或右边。
    ()      括号中的是一个组。
    (?:)组合
              引用第n个带圆括号的子表达式 。
     
    五  正则表达式的修饰符:
    i   执行不区分大小写的匹配。
    g(global) 执行全局匹配。
    m (multiple)多行匹配,^匹配一行的开头和字符串的开头,$匹配行的结束和字符串的结束
    ^ 以那个字符开头,$ 以那个字符结尾。
     
    六 正则表达式的方法
    1. exec
    exec() 方法用于检索字符串中的正则表达式的匹配。 如果字符串中有匹配的值返回该匹配值,否则返回 null。
    语法:RegExpObject.exec(string)
     
    例如:(/Hello word!/g).exec("Hello word!")
    ["Hello word!"]
    (/Heo word!/g).exec("Hello word!")
    null
     
    2. test
     一个在字符串中测试是否匹配的RegExp方法,它返回true或false。
    例如:写法第一种:(/java/i).test("javaScript")
    true
               写法第二种:
    var pattern=new RegExp(‘java’,'i’); pattern.test("JaaScript")
    false
     
    七 字符串的方法
    1. match    
            一个在字符串中执行查找匹配的String方法,它返回一个数组或者在未匹配到时返回null。
    例如:('aaAAB12345').match(/d{2,4}/g)
    ["1234"]
     
    2. search
            一个在字符串中测试匹配的String方法,它返回匹配到第一个字符位置索引,或者在失败时返回-1。类似于indexOf()方法。
    例如:("javaScript").search(/script/i);
    4
    ("javaScript").search(/qwscript/i);
    -1
     
    3. replace
          replace( )方法用以执行检索与替换操作,其中第一个参数是一个正则表达式,第二个参数是要进行替换的字符串。(https://blog.csdn.net/LinBilin_/article/details/57094602)
      例如: "javascript is not javaLive".replace(/java/g,'zmm')
                 "zmmscript is not zmmLive"
     
    4. split
             一个使用正则表达式或者一个固定字符分隔一个字符串,并将分隔后的子字符串存储到数组中的String方法
    例如:("123,4567,879").split(",")
    ["123", "4567", "879"]
     
     
     
    八  锚字符:
    (?=script):替换后缀是script前面的java:
     
     
    (?!script):替换后缀不是script的前面的java:
     
     
     
    推荐阅读:
    解析正则表达式中的.*,.*?,.+?的含义:https://www.jb51.net/article/183106.htm
     
     
     
     
     
     
     
     
     
     
     

  • 相关阅读:
    如何消除inline-block元素间间距问题(转)
    winform 自定义控件引用问题
    winform在设置控件enabled=false后,无法更改控件字体颜色的问题
    【Idea maven】springMvc访问不到静态资源的问题 (访问不到图片,css等
    Cannot resolve method 'setAttribute(java.lang.String, java.lang.String)'
    Idea tomcat启动问题 8080端口被idea占用
    贪心算法
    栈、队列、堆随笔
    ubuntu18.04安装配置tomcat8.5
    链表随笔
  • 原文地址:https://www.cnblogs.com/terrymin/p/15476211.html
Copyright © 2011-2022 走看看