关于正则表达式 ^ ,$ ,/g 的作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于正则表达式 ^ ,$ ,/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" ,所有末尾被匹配

 

以上是关于关于正则表达式 ^ ,$ ,/g 的作用的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式中/i,/g,/m的作用

正则表达式中"g"的作用

关于的字符串的总结(群,子群,KMP算法,正则表达式):

为啥 `\d` 在 sed 的正则表达式中不起作用? [复制]

正则表达式中模式修正符作用详解(igmsxe)

关于正则表达式的一些基础知识