I need regex to find this text
[#URL^网址说明^#]
在一个字符串中并将其替换为
<a href="some link">Url Description</a>
“网址描述”可以是任何语言的字符集。
有任何正则表达式专家可以帮助我吗?
谢谢。
这可能有点令人困惑,但您可以使用以下内容:
string str = @"[#URL^Url Description^#]";
var regex = new Regex(@"^[^^]+\^([^^]+)\^[^^]+$");
var result = regex.Replace(str, @"<a href=""some link"">$1</a>");
第一个^
表示字符串的开头;表示任何不是插入符号
的东西;
The是文字插入符号;是字符串的结尾
。[^^]+
\^
$
基本上,它捕获插入符号 ( ) 之间的所有字符并在标记^
之间替换它。<a>
您也可以将最后一行替换为:
var result = regex.Replace(str, @"<a href=""" + link + @""">$1</a>");
link
包含要替换的链接的变量在哪里。
你为什么不使用String.Replace()
?正则表达式可以工作,但看起来格式定义明确,正则表达式更难阅读。
string url = "[#URL^blah^#]";
string url_html = url.Replace("[#URL^", "<a href=\"http://www.somewhere.net\">")
.Replace("^#]", "</a>");