zoukankan      html  css  js  c++  java
  • JavaScript 正则表达式(RegExp)

    正则表达式(regular expression)是一个描述字符模式的对象,JavaScript使用 RegExp类来表示正则表达式

    可以使用 RegExp()构造函数来创建对象:
    var a=newRegExp('s$')
    但是通常直接量语法来创建 RegExp对象:
    var a=/s$/     //两个斜杠包裹

    正则的三种模式:

    g 默认情况下,第一次匹配成功后,正则对象就停止向下匹配了。g修饰符表示全局匹配(global),加上它以后,正则对象将匹配全部符合条件的结果,主要用于搜索和替换。

    i 默认情况下,正则对象区分字母的大小写,加上i修饰符以后表示忽略大小写(ignorecase)。

    m 有时,字符串的头部或尾部可能会有换行符。默认情况下,正则对象会将换行符算入字符串的开头或结尾。m修饰符表示多行模式(multiline),加上它以后,正则对象会忽略字符串头部或尾部的换行符,即^和$会忽略换行符

    属性

    描述

    ignoreCase

    返回一个布尔值 表示是否设置了i修饰符,该属性只读。

    global:

    返回一个布尔值 表示是否设置了g修饰符,该属性只读。

    multiline

    返回一个布尔值 表示是否设置了m修饰符,该属性只读。

    source

    返回正则表达式的字符串形式(不包括反斜杠),该属性只读。

    lastIndex

    返回下一次开始搜索的位置。该属性可读写,但是只在设置了g修饰符时有意义。

     如下:

    test()
    test() 方法检索字符串中的指定值。返回值是 true 或 false。
    语法:Objectname.test(str)


    exec()
    exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
    语法:Objectname.exec(str)


    compile()
    compile() 方法用于改变 RegExp。
    compile() 既可以改变检索模式,也可以添加或删除第二个参数。
    语法:Objectname.compile(str)5

    正则和字符串函数的协同使用


    match();
    match其实和exec挺像的,返回值很类似

    区别:match如果需要匹配的正则表达式使用了g模式, 则会一次性把所有的匹配结果都放在数组里
    而exec()则不会, exec会依照g模式, 把lastIndex往后推至下一次匹配开始的下标;

    search();
    能匹配到就返回第一次匹配到的下标;无匹配值返回-1

    直接量字符、字符类
    在正则表达式中许多标点符号都具有特殊含义它们是:

    ^ $ . * + ? = ! : |  / ( ) [ ] { }        这些自己百度 也没啥...

    多百度!多看多学!多用就差不多了...

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14723065.html

  • 相关阅读:
    master线程的主循环,后台循环,刷新循环,暂停循环
    InnoDB的后台线程(IO线程,master线程,锁监控线程,错误监控线程)和内存(缓冲池,重做日志缓冲池,额外内存池)
    MySQL的连接方式
    编写高质量的 Java 代码
    TProfiler
    Copy-On-Write容器
    G1 垃圾收集器
    JAVA 虚拟机钩子
    Future和Promise
    算法笔记_134:字符串编辑距离(Java)
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14723065.html
Copyright © 2011-2022 走看看