gpt4 book ai didi

regex - 替换所有其他数字

转载 作者:行者123 更新时间:2023-12-03 08:56:29 29 4
gpt4 key购买 nike

这是一个测验练习

将\d 中的所有其他字符替换为 *(仅限偶数位置的字符:2、4、6 等)。示例:a1b2cde3~g45hi6 应变为 a*b*cde*~g4*hi6

我尝试了代码

(?<=.)(\d)

替换

*

结果

Test 3/10: Remember to replace only all digits in even positions of the string.

正则表达式 demo

最佳答案

您可以使用

\G((?:.\D)*.)\d

请参阅regex demo 。如果输入字符串可能包含换行符,请使用正则表达式引擎的相应选项,确保 . 与任何字符匹配。

详细信息

  • \G - 字符串的开头或上一个匹配的结尾
  • ((?:.\D)*.) - 第 1 组:
    • (?:.\D)* - 匹配任何字符和任何非数字字符 0 次或多次重复的非捕获组
    • . - 任意 1 个字符
  • \d - 一个数字。

JS 正则表达式(符合 ES6)可能看起来像

/((?:.\D)*.)\d/gy

参见this regex demoy 标志与 g 标志一起帮助实现与在以前的正则表达式中使用 \G 运算符相同的效果。

一个简短的演示:

var s = "a1b2cde3~g45hi6";
var rx = /((?:.\D)*.)\d/gy;
console.log(s.replace(rx, "$1*"));

关于regex - 替换所有其他数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54970940/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com