zoukankan      html  css  js  c++  java
  • JS正则表达式从入门到入土(2)—— 元字符和字符类

    元字符和字符类

    元字符

    正则表达式由两种基本字符类型组成:

    1.原义(正常)文本字符:代表本身含义的字符,如:a、b、c、1、2、3等。

    2.元字符:元字符是在正则表达式中有特殊含义的非字母字符,如代表单词边界,可以是单词的开头或结尾。

    常见的符号元字符:

    *+?$^.|(){}[]
    

    字符类

    一般情况下,正则表达式一个字符对应字符串一个字符。比如,表达式ab 的含义就是ab加上一个 (水平制表符)。

    但是,很多时候,我们不想匹配某个字符,而想匹配某类字符。此时,我们可以使用元字符[]来构建一个简单的类。

    所谓类是指符合某些特性的对象,一个泛指,而不是特指某个字符。表达式[abc]把字符abc归为一类,可以匹配这类字符。

    示例:

    let reg = /[abc]/g
    
    let text = 'a1b2c3d4e5'
    
    text.replace(reg, 'X')	// X1X2X3d4e5
    

    可以发现,当正则表达式匹配到abc时,自动替换为X

    字符类取反

    很多时候回碰到这么一种情况,即不想匹配某些字符,其他都匹配。此时,可以使用字符类取反——使用元字符`^创建反向类,即不属于某类的内容。

    表达式[^abc]表示不是字符abc的内容。

    示例:

    let reg = /[^abc]/g
    
    let text = 'a1b2c3d4e5'
    
    text.replace(reg, 'X')	// aXbXcXXXXX
    

    结果表明,当表达式匹配到abc时,不进行处理,其余的字符都转换为了X

  • 相关阅读:
    题解:CF1494 F. Delete The Edges
    「CEOI2011」选做
    题解:「CEOI2017」Chase
    学习笔记:《具体数学》问题整理
    题解:「COCI2019」 Transport
    【做题记录】位运算
    线性DP
    虚树 virtual-tree
    三元环计数
    长链剖分
  • 原文地址:https://www.cnblogs.com/karthuslorin/p/9241418.html
Copyright © 2011-2022 走看看