JavaScript RegEx 来替换连续的字符串
JavaScript RegEx to replace consecutive strings
我有一个看起来像这样的字符串
"+919357F%7F%7F%7F%00%00%00%29Your%20OTP%20for"
我需要将所有连续的%7F
替换为~
我用这个命令找到了一个几乎可行的解决方案
"+919357F%7F%7F%7F%00%00%00%29Your%20OTP%20for".replace(/[%7F]{2,}/g, '~');
但出于某种原因,它确实会吃掉我需要保持完整的其他一些%
痕迹。我也不明白{2,}
代表什么?我知道它负责连续替换,但不确定为什么 2 或 3 有什么不同?
将
正则表达式中存在的[]
(字符类)替换为()
(捕获或非捕获组)。在字符类中,所有字符都被视为单独的模式。因此,[fo]
将匹配f
或o
单个字符,而不是像fo
这样的字符组
str.replace(/(?:%7F){2,}/g, '~');
这会将两个或多个%7F
替换为 ~
。也就是说,%7F%7Fb%7F
将更改为~b%7F
或
str.replace(/(?:%7F)+/g, '~');
但这会将一次或多次%7F
的出现替换为 ~
。所以%7F%7Fb%7F
会改为~b~
相关文章:
- AngularJS - 从字符串数组中连续更改文本
- JavaScript函数,用于自动计数字符串中的连续字母
- Javascript连续键入字符串保持项目淡入
- Regex从空格分隔的字符串中删除连续重复项
- 在字符串中插入下划线以代替单个或多个空格(连续)
- 正则表达式 - 字符串不能以空格开头,以空格结尾,并且连续包含几个空格
- 识别 Javascript 字符串中的连续十六进制字符块
- JavaScript RegEx 来替换连续的字符串
- 如何将无序列表(UL,LI)转换为连续字符串
- 删除JS字符串中连续的竖条
- Regex用于在8个字符的字符串中搜索连续的两个数字和字母
- 需要使用JavaScript过滤掉字符串中重复的连续字符
- 匹配连续-的正则表达式.或者字符串中的-(连字符和点)
- 如何将分隔日期字符串转换为连续日期字符串
- 当字符串包含两个非连续的正斜杠(负向前看)时返回false的正则表达式
- 如何从字符串数组中收集所有可能的连续字符串连接
- 如何使用连续长字符串添加空格
- 如何从字符串中收集所有可能的连续单词序列
- 字符串必须匹配 set 中的 7 位数字和可选的非连续字符
- 如何使用 javascript 查找字符串中是否包含特定数量的连续连续数字