js-day17

作者: Rosemarry丶 | 来源:发表于2017-12-14 17:23 被阅读0次

    A.我今天学了什么

    1.正则表达式

    http://www1.qdfuns.com/tools.php?mod=regex(正则表达式调试工具)
    
    有规律的/有规则的表达式,由一些普通字符和特殊字符组成的,用以描述一种特定的字符规则的表达式描述语句。
    正则表达式常用于在一段文本中搜索、匹配或替换特定形式的文本。如:词语出现频率统计、验证字符串是否符合邮箱格式、屏蔽一篇帖子中的限制性词语等
    
    

    2.定义正则表达式

    所有的单个大小写字母、数字都是一个正则表达式,用以匹配单个字符,这个字符与它本身相同,如:var regexp =/abc/;
    正则表达式中有些字符有特殊的语法含义,是不能直接使用的,必须使用\进行转义后才能使用
    . \ / * ? + [ ] ( ) { } ^ | $
    
    

    3.字符集

    •   正则表达式使用如下语法匹配一个范围内的字符
    
     语法                含义
    [abc]   匹配指定集合内的任一个字符
    [^abc]  匹配不在指定集合内的任一个字符
    [0-9]   匹配任一个数字
    [a-z]           匹配任一个小写字符
    [A-Z]   匹配任一个大写字符
    [A-z]          匹配大写A到小写z的所有字符
    

    4.预定义字符集

    •   正则表达式中可以使用如下元字符引用来进行简化
    
    语法      含义
    \d  匹配一个数字
    \D  匹配一个非数字
    \w  匹配一个数字/字母/下划线
    \W  匹配一个非数字/字母/下划线
    \s  匹配一个空白符
    \S  匹配一个非空白符
    .   匹配除了回车和换行外的任何单个字符
    

    5.数量词

    •   正则表达式中可以使用如下特殊字符定义字符的出现频次--量词元字符
    
    重复字符        含义
    n?          匹配零次或一次字符n
    n*          匹配零次或多次字符n
    n+          匹配一次或多次字符n
    n{x}            匹配字符n出现x次
    n{x,y}  匹配字符n出现x到y次
    n{x,}         匹配字符n的出现次数>=x次
    

    6.选择和分组

    •   正则表达式使用如下语法定义子表达式 分组或选择
    
    
    
    语法                               含义
    exp1|exp2           使用|进行条件选择
    (exp1)                  使用()指定分组--每个分组自动获得分组号如:1、2、3、的分组号
    
    

    7.指定匹配位置

    •   可以使用如下字符进行指定位置的匹配
    
    
    重复字符              含义
    ^              匹配字符串的开头
    $              匹配字符串的结尾
    \b             匹配单词的边界
    \B             匹配单词的非边界
    ?=x            匹配其后紧接x的字符串
    ?!x            匹配其后没有紧接x的字符串
    
    

    8.创建RegExp对象

    创建正则表达式对象有两种方法:
    直接量语法:
    var regexp =/abc/attribnnutes;
    
    调用RegExp构造方法:
    var regexp = new RegExp('abc','attribute');
    

    9.RegExp的属性

    RegExp对象具有如下属性:
    
    属性名               说明
    global          (只读)RegExp对象是否具有g修饰符
    ignoreCase  (只读)RegExp对象是否具有i修饰符
    multiline          (只读)RegExp对象是否具有m修饰符
    lastIndex          用于设置/获取下次匹配的起始位置(没有指定g修饰符的RegExp对象不能使用lastIndex属性)
    source         (只读)返回模式匹配所使用的文本
    $1....$9           指代最近一次搜索中某个子表达式匹配的文本
    

    10.用于模式匹配的String方法

    replace方法
    strObject.replace(regexp,'string');
    对字符串中特定格式的子串进行替换,返回替换后的结果。
    第一个参数既可以是一个固定的子串,也可以是一个正则表达式对象
    
    match方法
    strObject.match(regexp)
    返回一个或多个子串、正则表达式的匹配
    与indexOf()方法类似,但是它返回匹配的值,而不是匹配字符串所在的下标
    
    search()
    strObject.search(regexp)
    返回第一次出现匹配指定正则表达式子串的下标,若没有匹配则返回-1
    与indexOf()作用类似,但indexOf()不支持正则表达式
    
    split()
    strObject.split(regexp,[howmany])
    使用一个指定的字符串或正则表达式,对原字符串进行拆分,返回拆得的子串数组。
    若指定了howmany属性,则只返回拆得的前howmany个子串
    regexp.test( txt );
    console.log( RegExp.$1 ); //strong
    
    

    相关文章

      网友评论

          本文标题:js-day17

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