Regex替换c#中的双引号
本文关键字:替换 Regex | 更新日期: 2023-09-27 18:18:03
我正在尝试使用Regex替换c#中字符串的双嵌套引号,但到目前为止还无法实现。下面是示例文本和我尝试的代码-
string html = "<img src='"imagename='"g1'"'" alt = '"'">";
string output = string.Empty;
Regex reg = new Regex(@"([^'^,'r'n])""""+(?=[^$,'r'n])", RegexOptions.Multiline);
output = reg.Replace(html, @"$1");
上面给出如下输出-
"<img src="imagename="g1 alt = >"
我正在寻找的实际输出是-
"<img src="imagename=g1" alt = "">"
请建议如何更正以上代码
样式:'s*"'s*([^ "]+)"'s*(?=[">])|(?<=")("")(?=")
替换:$1
下面是regexstorm
的演示和测试程序中使用的字符串字面值:
@"'s*""'s*([^ ""]+)""'s*(?=["">])|(?<="")("""")(?="")"
为了保持简单和更精确,直接关注src
属性值
模式:('bsrc="[^ =]+=)"([^ "]+")"
替换:$1$2
这是在线演示,并在regexstorm
进行了测试程序中使用的字符串字面值:
@"('bsrc=""[^ =]+=)""([^ ""]+"")"""
注意:我假设属性值不包含任何空格