gpt4 book ai didi

c# - 如何使用正则表达式替换整个 URL?

转载 作者:行者123 更新时间:2023-12-02 21:42:36 25 4
gpt4 key购买 nike

到目前为止我已经

messageText1 = Regex.Replace(messageText1, "(www|http|https)*?(com|.co.uk|.org)", "[URL OMITTED]");

只有 www,没有括号或 http 或 https,它会按预期工作

例如输入Hey check out this site, www.google.com, it's really cool会输出hey check out this site, [URL OMITTED], it's really cool

但是如果我放回或运算符作为 URL 的开头,它只会替换 .com部分输入

为什么不起作用?

谢谢

最佳答案

(www|http|https)*?(com|.co.uk|.org)

表示 wwwhttphttps 0 到多次,后跟 com .co .uk.org。因此它会匹配例如 httphttphttp.co.uk

您的意图可能只是在 * 之前添加一个 .。这意味着它只查找 (www|http|https) 一次,然后匹配 . (任何字符)0 到多次。

您还缺少 .com 中的 .。但是,如果您想匹配文字 .,则需要使用 \.,因为 . 本身意味着“任何字符”。

考虑到这一点,我认为您想要的正则表达式是:

(www|http|https).*?(\.com|\.co\.uk|\.org)

关于c# - 如何使用正则表达式替换整个 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20107522/

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