0

我有一堆这种格式的链接

http://imgur.com/a/bwBpM
http://imgur.com/a/bwBpM[/IMG]
[IMG]http://imgur.com/a/bwBpM
[IMG]http://imgur.com/a/bwBpM[/IMG]

IMG 标签仅在某些情况下提供,我想提取链接,即http://imgur.com/a/bwBpM在这种情况下。有没有一种简单的方法可以通过 C# 中的正则表达式来做到这一点?

4

2 回答 2

2

如果您说问题中的文本位于某种列表中,并且它们始终采用以下格式:

  1. 只是网址
  2. Url + 部分或完整标签

那么最简单的方法是运行:

url = url.Replace("[IMG]", "").Replace("[/IMG]");

如果没有标签,则没有变化,但如果标签在那里,它们将被删除。

于 2013-06-19T03:48:30.057 回答
0

你可以使用这种模式:

^(?:\[IMG\])?([^[]*)(?:\[/IMG\])?$

您可以使用以下方法获取输出:

var match = Regex.Match(input, @"^(?:\[IMG\])?([^[]*)(?:\[/IMG\])?$");
if (match.Success)
{
    Console.WriteLine(match.Groups[1].Value); // http://imgur.com/a/bwBpM
}
于 2013-06-19T03:52:42.327 回答