Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何在标记中查找引号?_Regex_Vb.net_String_Tags_Quotes - Fatal编程技术网

Regex 如何在标记中查找引号?

Regex 如何在标记中查找引号?,regex,vb.net,string,tags,quotes,Regex,Vb.net,String,Tags,Quotes,我有这样一个字符串: 今天是非常“美好”的一天 在VB中我的正则表达式模式应该是什么样的,才能在标记中找到引号?我想用一些东西来代替它 今天是非常“美好”的一天 类似于的方法尝试以下操作:这将获得标记中的第一个属性值: <[^">]+"(?<value>[^"]*)"[^>]*> ]*> 如果要替换标记中的所有引号,可以使用以下正则表达式: (“]*)(”([^>]*>) 这将隔离引号前后的子字符串。请注意,这不会尝试匹配开始引号和结束引号。它只与标记中的引

我有这样一个字符串:

今天是非常“美好”的一天

在VB中我的正则表达式模式应该是什么样的,才能在标记中找到引号?我想用一些东西来代替它

今天是非常“美好”的一天


类似于的方法尝试以下操作:
这将获得标记中的第一个属性值:

<[^">]+"(?<value>[^"]*)"[^>]*>
]*>

如果要替换标记中的所有引号,可以使用以下正则表达式:

(“]*)(”([^>]*>)


这将隔离引号前后的子字符串。请注意,这不会尝试匹配开始引号和结束引号。它只与标记中的引号匹配。

这取决于您的正则表达式风格,但这适用于大多数正则表达式:

"(?=[^<]*>)
(?=[^)

编辑:任何想知道这是怎么回事的人。这句话翻译成英语是“在下一个之前找到一个后跟a>的引号。正则表达式根本不擅长解析HTML(请参阅了解原因)。您需要的是HTML解析器。请参阅使用各种解析器的示例


如果您使用的是VB.net,您应该能够使用。

您使用的是哪种正则表达式引擎?html语法不是正则语法使用html解析器等等。我使用的是VB提供的引擎,因此不支持lookback。@Moo您使用的语言是一种更重要的标记,因为它会阻止人们使用html语法告诉你如何做你不能做的事情,并确保了解你的环境的人看到你的问题。我已经用vb替换了模式标记,请编辑它,使其反映你正在使用的vb版本。@Moo vb.Net是否支持“回头看”你只使用一个以开头的组?是的,我的目的是替换所有引号薄标记。我必须循环遍历所有子匹配吗?那么,你能使用Regex.Replace吗?是的,我会使用Replace函数。但是我不知道如何将它与模式一起使用。它在标记中找不到引号。请注意,在属性值中允许使用普通的
字符。@Gumbo有趣的说明,但是'>'字符不会如果它出现在属性中,则不会有问题。'@Nick The pattern有问题,如果字符串看起来像:This“is”>太好了!我们如何改进它?@Moo,'>'字符在标记之间无效。它需要转义为“”。但是如果你需要如此挑剔,你需要一个真正的HTML解析器。