1

我想要一个正则表达式,它将匹配在我的代码中的双引号字符串中找到的任何反斜杠。例如,以下内容应全部匹配:

Dim testStr As String = "This is \ text"
Dim testStr2 As String = "\"

我想使用 VS 中的 Find 功能进行解决方案范围的搜索。

4

1 回答 1

2

这似乎有效:

\\~([^"]*("[^"]*"[^"]*)*$)

\\匹配文字反斜杠。接下来的内容相当于否定的前瞻~(...)断言,此时...无法匹配(在实际匹配中不包含更多内容)我们使用它来确保反斜杠在字符串中。"如果它在一个字符串内,它和行尾之间会有奇数个。因此,如果反斜杠和行尾(用 表示)之间[^"]*("[^"]*"[^"]*)*$有偶数个,则匹配。"$

这会导致多行字符串或转义为 的引号出现问题\",但幸运的是在 VB.NET 中都不存在,因此您应该安全地使用此解决方案。

请注意,这不是.NET 正则表达式。Visual Studio 有自己相当奇怪的正则表达式语法

于 2012-11-25T23:13:30.740 回答