gpt4 book ai didi

ruby - 正则表达式匹配反斜杠的数量但不超过 x 数量

转载 作者:数据小太阳 更新时间:2023-10-29 08:22:05 25 4
gpt4 key购买 nike

我试图匹配字符串中的双反斜杠,但只有当有 2 而不是 3 时,我才能将 2 换成 3。

我知道 \\{2} 会匹配双反斜杠,除了它还会匹配前 2 个斜杠(如果存在 3 个斜杠)。

例如在字符串中

{"files":{"windows": {"%windir%\\\System32\\drivers\\etc\\lmhosts.sam":{"ignore":{"id":32}},"%windir%\\System32\\\drivers\\etc":{"ignore":{"id":32}},"%windir%\\System32\\drivers\\etc\\hosts":{"ignore":{"id":32}}}}}

我希望匹配和替换多个双斜线,但也有一些我希望单独保留的三重斜线。

那么,我的问题是,当双斜杠不与另一个斜杠相邻时,如何匹配它?

这是一个指向玩具的 Regex101 链接。 https://regex101.com/r/kWIscW/1

此外,在 Ruby 中执行此操作。

最佳答案

怎么样:

\b\\{2}\b

定义你 \\ 是唯一被评估的字符

另一种可能性是回顾过去并展望 future ,但是,不确定您的正则表达式引擎是否支持它:

(?<=[^\\])\\{2}(?=[^\\])

关于ruby - 正则表达式匹配反斜杠的数量但不超过 x 数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41371623/

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