一、g
的含义
g
是 global 的缩写,表示全局匹配。- 没有
g
时:正则表达式仅匹配第一个符合条件的子串。 - 有
g
时:正则表达式会匹配所有符合条件的子串。
二、在示例代码中的用途
在代码 pattern.replace(/\//g, '\\/')
中:
- 正则表达式:
/\//g
- 第一个
/
是正则表达式的开始符。 \/
是实际要匹配的字符/
(需要转义)。- 最后一个
/
是正则表达式的结束符。 g
是全局匹配修饰符。
- 第一个
- 目的:将字符串
pattern
中 所有 的/
替换为转义后的\/
。
示例:
- 输入
pattern
:/user/*/profile
- 替换后:
\/user\/*\/profile
三、g
对替换操作的影响
1. 没有 g
的情况
const str = "a/b/c";
str.replace(/\//, "-"); // 输出 "a-b/c"(仅替换第一个 `/`)
2. 有 g
的情况
const str = "a/b/c";
str.replace(/\//g, "-"); // 输出 "a-b-c"(替换所有 `/`)
四、其他常见修饰符
修饰符 | 含义 | 示例用途 |
---|---|---|
g | 全局匹配 | 替换所有匹配项 |
i | 不区分大小写(Ignore) | /hello/i 匹配 “Hello” |
m | 多行模式(Multiline) | 处理多行文本的 ^ 和 $ |