关于正则表达式中 “^” ,“$”,“g”的用法与作用

2023-12-14 10:47:47

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

// 输出结果为 2a21:只有字符串开始位置的'1'被匹配到,但'a'后面的'21'没有匹配到
'12a21'.replace(/^\d/g,'')  // 字符串中开头的一组空字符替换为""
// 输出结果为 "222a21" :字符串开始位置的'12'被匹配到,但'a'后的'21'两位数字没有匹配到
'12222a21'.replace(/^\d{2}/g,'')
// 输出结果为 "a21":字符串开始位置的数字都被匹配到,但'a'后面的'21'没有匹配到
'12222a21'.replace(/^\d{2,}/g,'') // 从字符串开头开始匹配数量大于等于2个的数字
// 输出结果为 "a" :字符串中所有的数字都被匹配到
'12222a21'.replace(/\d{2,}/g,'')

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

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

??在正则中g表示替换字符串中每个被匹配的字符,否则只替换字符串中第一个被匹配的字符

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

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

// 输出结果为:"12222a2":只有末尾的1匹配
'12222a21'.replace(/[\d]$/g,'')
// 输出结果为:"12222a" :末尾所有被匹配
'12222a21'.replace(/[\d]{1,}$/g,'')

? 相关参考:【JS高级】正则入门基础—关于你想知道的正则表达式?

文章来源:https://blog.csdn.net/sunyctf/article/details/134237488
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。