gpt4 book ai didi

regex - 使用替换变量搜索和替换正则表达式

转载 作者:行者123 更新时间:2023-12-04 04:51:54 32 4
gpt4 key购买 nike

所以我的公司在他们的移动网站上使用 3rd 方,我们有一个控制台来更新一些代码并通过它们控制东西。其中之一是可以更新站点代码的搜索和替换功能。唯一的一点是,它使用了很多复杂的正则表达式代码,我似乎找不到关于复杂内容的好教程。所以这是他给我的例子,棒捕获段落标签并将其放在链接中

搜索

(#d6d6d4.+?>.+?<p><a.+?>.+?)</a>(.+?)</td>

替换为
$1$2</a></td>

$1 和 $2 代表什么?我知道它可能与 .+ 之一有关?但我不确定是哪一个。如果有人知道请帮助我。我在正则表达式变量旁边添加了下面的代码
(#d6d6d4.+?**[1]**>.+?**[2]**<p><a.+?**[3]**>.+?**[4]**)</a>(.+?**[5]**)</td>

最佳答案

$1 和 $2 表示正则表达式中捕获组中的文本。捕获组是括号内的内容。

 (        // start first capture group
#d6d6d4 // match #d6d6d4
.+?> // any character, non-greedy, up to '>'
.+?<p> // any character, non-greedy, up to <p>
<a.+?> // an <a..> tag, consuming everything up to '>'
.+? // all characters from <a> to </a>
) // close the first capture group before the '</a>'
</a> // literal '</a>'
( // start second capture group
.+? // match all, non-greedy up to '</td>'
) // close capture group before '</td>'
</td> // literal '</td>'

所以如果你有这个字符串: <td color=#d6d6d4 foo=bar>Hello, world<p><a href=http://foo.com>foo link</a>some more text</td>
$1 匹配: #d6d6d4 foo=bar>Hello, world<p><a href=http://foo.com>foo link$2 匹配: some more text
所以字符串被转换为: <td color=#d6d6d4 foo=bar>Hello, world<p><a href=http://foo.com>foo linksome more text</a></td>
这基本上意味着 </a>标签在 some more text 之后移动(或在 </td> 之前,如果您愿意)

关于regex - 使用替换变量搜索和替换正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14059129/

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