我想要一个正则表达式,它将匹配在我的代码中的双引号字符串中找到的任何反斜杠。例如,以下内容应全部匹配:
Dim testStr As String = "This is \ text"
Dim testStr2 As String = "\"
我想使用 VS 中的 Find 功能进行解决方案范围的搜索。
我想要一个正则表达式,它将匹配在我的代码中的双引号字符串中找到的任何反斜杠。例如,以下内容应全部匹配:
Dim testStr As String = "This is \ text"
Dim testStr2 As String = "\"
我想使用 VS 中的 Find 功能进行解决方案范围的搜索。
这似乎有效:
\\~([^"]*("[^"]*"[^"]*)*$)
\\
匹配文字反斜杠。接下来的内容相当于否定的前瞻。~(...)
断言,此时...
无法匹配(在实际匹配中不包含更多内容)。我们使用它来确保反斜杠在字符串中。"
如果它在一个字符串内,它和行尾之间会有奇数个。因此,如果反斜杠和行尾(用 表示)之间[^"]*("[^"]*"[^"]*)*$
有偶数个,则匹配。"
$
这会导致多行字符串或转义为 的引号出现问题\"
,但幸运的是在 VB.NET 中都不存在,因此您应该安全地使用此解决方案。
请注意,这不是.NET 正则表达式。Visual Studio 有自己相当奇怪的正则表达式语法。