C# 修改正则表达式匹配值
我想在我的html中找到src不包含C# 修改正则表达式匹配值,c#,regex,C#,Regex,我想在我的html中找到src不包含http://的所有图像标记,并将http://前置到src属性 我已经让regex找到了所有不以http://开头的img标记。我在将http://单独应用于src属性时遇到了一些问题。如何使用regex replace实现这一点 <img [^<]*src="(?!http://)(?<source>[^"]*)"[^<]*/> [^”]*)”[^ Source将包含src值。我只需要它说$2=“http://”+$
http://
的所有图像标记,并将http://
前置到src
属性
我已经让regex找到了所有不以http://开头的img标记。我在将http://单独应用于src属性时遇到了一些问题。如何使用regex replace实现这一点
<img [^<]*src="(?!http://)(?<source>[^"]*)"[^<]*/>
[^”]*)”[^
Source将包含src值。我只需要它说
$2=“http://”+$2
。我如何用c#code编写这个值。因为您不想破坏现有标记,所以需要将组分配给您不感兴趣的字符串部分;为了能够在替换模式中包含匹配部分:
(<img [^<]*src=")(?!http://)(?<source>[^"]*)("[^<]*/>)
(同样,这可能适用于您的应用程序用例,但我应该提到,)它实际上是regex.Replace(输入,“$1http://$3$2”);$2而不是$4。您应该更新您的答案。谢谢。它工作得很好。最后,我还理解了regex.Replace的概念。谢谢您的帮助。
regex.Replace(input, "$1http://$3$2");