zoukankan      html  css  js  c++  java
  • 13-正则表达式(上)

    正则表达式(上)


    主要内容

    - 正则表达式概述
    - 正则表达式的运行
    - 创建正则表达式
    - 特殊字符: 、^、$

    概述

    正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。

    1. 创建正则表达式

    直接量语法:
    /pattern/attributes
    
    创建 RegExp 对象的语法:
    new RegExp(pattern, attributes);
    
    参数pattern是一个字符串,指定了正则表达式的模式或其他正则表达式。
    参数attributes是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、不区分大小写的匹配和多行匹配。如果pattern是正则表达式,而不是字符串,则必须省略该参数。

    2. RegExp 对象属性

    属性 描述
    global RegExp 对象是否具有标志g
    ignoreCase RegExp 对象是否具有标志i
    lastIndex 一个整数,标示开始下一次匹配的字符位置
    multiline RegExp 对象是否具有标志m
    source 正则表达式的源文本

    3. RegExp 对象方法

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

    3.1 compile

    compile() 方法用于在脚本执行过程中编译正则表达式。也可用于改变和重新编译正则表达式。
    RegExpObject.compile(pattern[,flag])
    pattern 正则表达式flag ###### 规定匹配的类型。“g”or“i”or“m”
    
    
    var str = 'My name is Jeepeng.';
    var patt = /My/g;
    var str2 = str.replace(patt,"His");
    console.log(str2);
    patt.compile(/Jeepeng/gim);
    str2 = str.replace(patt,"Lily");
    console.log(str2);
    

    3.2 exec

    exec() 方法用于检索字符串中的正则表达式的匹配。
    RegExpObject.exec(string)
    string:要检索的字符串。
    返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
    var p = /d/g;
    var str = '1213abcf3ss9';
    while((result = p.exec(str))!= null)
    {     
        console.log(result);
        console.log(p.lastIndex);
    }
    

    3.3 test

    test() 方法用于检测一个字符串是否匹配某个模式。
    RegExpObject.test(string)
    如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。等价于:(RegExpObject.exec(string) != null)。
    var str = '1e2';
    var p = /d{2}/g;
    console.log(p.test(str));
    
    

    4. 特殊元字符:

    将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“ ”匹配 。“ ”匹配换行符。序列“”匹配“”而“(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。

    5. 特殊元字符:^

    匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“ ”或“ ”之后的位置。
    还有一种用法如:反向范围字符。匹配不在指定的范围内的任何字符。例如,“[^a-z]”匹配任何不在“a”到“z”范围内的任何字符。

    6. 特殊元字符:$

    匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“ ”或“ ”之前的位置。
  • 相关阅读:
    Leetcode -- Day 45
    基于session的登录权限控制及redis缓存引入
    CountDownLatch 和 CyclicBarrier
    join()介绍及三个线程顺序输出实现
    BigDecimal 和 BigInteger 介绍
    62. Unique Paths
    678. Valid Parenthesis String
    172. Factorial Trailing Zeroes
    数据库事务
    75. Sort Colors
  • 原文地址:https://www.cnblogs.com/fengxuefei/p/6250559.html
Copyright © 2011-2022 走看看