gpt4 book ai didi

regex - 用不同的字符但相同的数量替换字符串中的多个点

转载 作者:行者123 更新时间:2023-12-04 16:33:33 25 4
gpt4 key购买 nike

我有一个像下面这样的字符串
“呜呜……呜呜……呜呜……呜呜。”

超过一个点的每一部分都必须用“_”替换,但它必须与替换的字符具有相同的数量。

该字符串应导致:
“bla___blup__blaaa___bla。”

请注意,最后一个点没有被替换,因为它没有“连接”其他点。

我尝试在 powershell 中使用以下正则表达式方法,但无论是否有 3 个或更多点,我总是得到 2 的匹配长度:

$string -replace '(.)\1+',("_"*'$&'.length)

有任何想法吗?

最佳答案

您可以使用 \G anchor将匹配粘合到前一个。

\.(?=\.)|\G(?!^)\.
  • \.(?=\.)如果另一个句号是 ahead,则匹配句号.
  • |\G(?!^)\.或者如果有之前的匹配(但不是开始)则替换句号

  • 替换为下划线。 See demo at regexstorm

    关于regex - 用不同的字符但相同的数量替换字符串中的多个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35272118/

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