c# - 解析正则表达式模式时出错

标签 c# regex

我正在用 C# 编写一个简单的正则表达式来定位前面或后面没有任何反斜杠的反斜杠:

Regex reg = new Regex(".*(?<!\\)\\(?!\\).*");

但是,此语句会生成一个 ArgumentException:“正在解析“.(?) - 不够”

组括号似乎匹配。任何人都可以发现问题吗?

最佳答案

将 @ 符号放在字符串前面,否则您需要对斜杠进行两次转义(一次用于 C#,一次用于 Regex)。

Regex reg = new Regex(@".*(?<!\\)\\(?!\\).*");

Regex reg = new Regex(".*(?<!\\\\)\\\\(?!\\\\).*");

关于c# - 解析正则表达式模式时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1473506/

相关文章:

c# - 我怎样才能以这种方式遍历这个列表?

javascript - 如何完整下载页面源代码,而不是部分下载?

c# - 订阅和取消订阅单元格按钮单击事件在 iOS 11 中不起作用

c# - C#中如何访问类中的顶级语句变量?

regex - 匹配任意长度数字字符串的正则表达式,前面可能有也可能没有 0x

javascript - 如何使用 RegEx 替换 = 为 ==,但忽略 >= 或 <= 中的等号

c# - 需要帮助为此场景创建正则表达式

.net - 检查字符数的正则表达式

c# - LINQ、输出参数和 'Use of Unassigned Local Variable' 错误

javascript - 尝试通过 jQuery/replace() 删除括号内的 anchor 文本