gpt4 book ai didi

c# - 使用正则表达式将给定文本中的现有网址替换为新网址

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:38 27 4
gpt4 key购买 nike

我正在尝试使用正则表达式将给定文本中的现有网址替换为新网址。我似乎没有找到与我正在使用的正则表达式模式匹配的内容:

string regex = "<a href=\"http://domain/page.asp?id=(\\d+)&amp;oid=(\\d+)&amp;type=(\\w+)\">";

谁能帮我写一个正确的模式来找到看起来像这样的网址:

"<A href=\"http://domain/page.asp?id=38957&amp;oid=2497&amp;type=JPG\">"

下面是我的测试代码,它找不到与我正在使用的模式匹配的任何内容:

string result = string.Empty;

string sampleText = "<A href=\"http://domain/page.asp?id=38957&amp;oid=2497&amp;type=JPG\"><U>Click here for Terms &amp; Conditions...</U></A>";

string regex = "<a href=\"http://domain/page.asp?id=(\\d+)&amp;oid=(\\d+)&amp;type=(\\w+)\">";
Regex regEx = new Regex(regex, RegexOptions.IgnoreCase);

result= regEx.Replace(text, "<a href=\"/newPage/Index/$1&opid=$2)\">");

最佳答案

一切看起来都很好,除了 .? 是正则表达式中的特殊字符,因此需要对它们进行转义以将其视为文字。所以你的表达:

string regex = "<a href=\"http://domain/page.asp?id=(\\d+)&amp;oid=(\\d+)&amp;type=(\\w+)\">";

需要:

string regex = "<a href=\"http://domain/page\\.asp\\?id=(\\d+)&amp;oid=(\\d+)&amp;type=(\\w+)\">";

注意 .? 前面的反斜杠。

关于c# - 使用正则表达式将给定文本中的现有网址替换为新网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12297504/

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