zoukankan      html  css  js  c++  java
  • 关于正则表达式 ^ ,$ ,/g 的作用

    在正则中 ^ 表示匹配字符串的开始位置

    '12a21'.replace(/^d/g,'')
    //  输出结果为 2a21 只有字符串开始位置的'1'被匹配到,但'a'后面的'21'没有匹配到
    
    '12222a21'.replace(/^d{2}/g,'')
    // 输出结果为 "222a21" 字符串开始位置的'12'被匹配到,但'a'后面的'21'没有匹配到两位数字被匹配到
    
    '12222a21'.replace(/^d{2,}/g,'')
    // 输出结果为 "a21" 字符串开始位置的数字都被匹配到,但'a'后面的'21'没有匹配到两位数字被匹配到
    
    '12222a21'.replace(/d{2,}/g,'')
    // 输出结果为 "a" 字符串中所有的数字都被匹配到

    但是当 ^ 在中括号中时,不在表示匹配开始位置,而是表示不匹配某字符集合

    '122ss22a2b1'.replace(/[^d]/g,'')
    // 输出结果为:"1222221",非数字的所有字符都被匹配

    在正则中/g 表示替换将针对行中每个匹配的串进行,否则则只替换行中第一个匹配串

    '12222a21'.replace(/[d]/,'')
    // 输出结果为:"2222a21" ,只有第一个数字被替换
    
    '12222a21'.replace(/[d]/g,'')
    // 输出结果为:"a",所有被匹配的数字都被替换

    在正则中 $ 表示匹配末尾位置

    '12222a21'.replace(/[d]$/g,'')
    //输出结果为:"12222a2",只有末尾的1匹配
    
    '12222a21'.replace(/[d]{1,}$/g,'')
    //输出结果为:"12222a" ,所有末尾被匹配
  • 相关阅读:
    关于排序算法的记录
    java获取src下文件
    学习HashMap的笔记
    红黑树删除
    学习红黑树过程中的个人总结
    关于二叉树的记录
    关于自动装箱和自动拆箱
    学习函数的时候问题
    Oracle 实现拆分列数据的split()方法
    福大软工 · 最终作业
  • 原文地址:https://www.cnblogs.com/NigelShi/p/6012028.html
Copyright © 2011-2022 走看看