美文网首页
RegExp对象

RegExp对象

作者: HelloAndyZhang | 来源:发表于2018-08-22 22:10 被阅读0次

    描述字符模式的对象。正则表达式直接量定义为包含在一对斜杠(/)之间的字符。例:/s$/ –匹配所有以s结尾的字符串

    方法

    1. search()方法:搜索符合正则的第一次出现的位置,若搜索到返回第一次出现的位置,否则返回-1
    2. match()方法:获取正则匹配的结果,以数组的形式返回。
    3. exec()方法:捕获符合正则的字符串,若捕获到符合正则的字符串返回一个Array的实例,但它包含了两个额外的属性index和input。index表示符合正则字符串出现的位置;input表示字符串表达式的字符串。
    4. replace(正则|字符串,字符串|回调函数)方法:用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

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

    匹配规则

    1. 方括号[]:表示匹配括号中的所有字符
      var re=/[a-z]/    //表示满足小写a-z的字符串        如:a34vas3
      var re1=/[abc][def0-9]/  //表示两个满足条件并且要相邻的字符串   如:5a8zcf
    
    1. 花括号{}:表示匹配多少个字符,通常与方括号[]一起使用
    var re =/[a-z]{3}/       //表示要有连续的三个小写字母的字符串     如:t34bgp5jip8
    var re1=/[a]{1-3}/      //表示满足连续三个a的字符串       如:rgb89aaacd
    var re2=/[a]{1,3}/      //逗号,表示或者的意思           如:rabcaaadaa
    
    1. 小括号():表示提取字符串,匹配到的字符串可以通过$0-9可获取匹配的字符串

    2. ^符号

      • 表示匹配一个字符串的开头  var re=/^[a-z]/ //表示以小写字母开头的字符串   如:a45jdkl
      • 如果^符号出现在[]中的第一个字符位置,表示不包含此字符串 var re=/[^a] //表示字符串中不能有a 如:rgb123
    3. $符号:表示匹配一个字符串的结尾

    var re=/d$/   //表示以d结尾的字符串        如:abcd
    
    规则 描述
    \w 一个字母或数字 等价于[a-zA-Z0-9]
    . 任意字符(包括0个)除了换行和行结束符
    \s+ 至少一个空格
    \W 查找非单词字符,等价于[^a-zA-Z0-9]
    \s 查找空白字符
    \S 查找非空白字符
    \d 查找数字,等价于[0-9]
    \D 查找非数字字符,等价于[^0-9]
    \b 匹配单词边界
    \r 查找回车符
    \t 查找制表符
    \0 查找 NULL 字符
    \n 查找换行符
    \f 查找换页符。
    \v 查找垂直制表符。
    \xxx 查找以八进制数 xxx 规定的字符。
    \xdd 查找以十六进制数 dd 规定的字符。
    \uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

    字符串匹配

    字符 描述 例子
    {n,m} 匹配前一项至少n次,但不能超过m次
    {n,} 匹配前一项n次或更多次
    {n} 匹配前一项n次
    n$ 匹配任何结尾为 n 的字符串
    ^n 匹配任何开头为 n 的字符串
    n+ +号表示匹配任何包含至少一个 n 的字符串,等价于{1,} var re=/\d+/  如:abc1de234fg56
    n* 匹配任何包含零个或多个 n 的字符串等价于{0,}。 var re=/ab*/  如:a123abb
    n? 匹配任何包含零个或一个 n 的字符串 var re=/do(es)?/  如:doAnddoes
    n{X} 匹配包含 X 个 n 的序列的字符串。 var re=/[0-9]{2}/  如:a12b34c56
    n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串。 var re=/[0-9]{2,3}/  如:a12b345
    n{X,} 匹配包含至少 X 个 n 的序列的字符串。 var re=/[0-9]{2,}/  如:a12b345c6789
    ?=n 匹配任何其后紧接指定字符串 n 的字符串 ‘var re=/a(?=12|34)/  如:a12a34a67’
    ?!n 匹配任何其后没有紧接指定字符串 n 的字符串。 var re=/a(?!12|34)/  如a66a77a12

    匹配特定数字

    ^[1-9]\d*$  |  匹配正整数
    ^-[1-9]\d*$  | 匹配负整数
    ^-?[0-9]\d*$ |  匹配整数
    ^[1-9]\d*|0$ | 匹配非负整数(正整数 + 0)
    ^-[1-9]\d*|0$ |  匹配非正整数(负整数 + 0)
    ^[1-9]\d*.\d*|0.\d*[1-9]\d*$ | 匹配正浮点数
    ^-([1-9]\d*.\d*|0.\d*[1-9]\d*)$ | 匹配负浮点数
    ^-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)$ | 匹配浮点数
    ^[1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0$ |  匹配非负浮点数(正浮点数 + 0)
    ^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$ | 匹配非正浮点数(负浮点数 + 0)
    ```

    相关文章

      网友评论

          本文标题:RegExp对象

          本文链接:https://www.haomeiwen.com/subject/iljuiftx.html