c# - 正则表达式字符串定义问题

标签 c# regex

我正在尝试制作将匹配文件中所有 console.log("anything"); 的正则表达式。我写了下一个模式字符串:

@"(console\.log\(\"(.*)\"\)\;)"

编译器不编译代码并说:

Method, Delegate or event is expected.

问题是 stripslashing - " 字符。但我不知道如何解决它,有什么想法吗?

我在方法中使用了这个模式:

  js.RegexReplace(@"(console\.log\(\"(.*)\"\)\;)", "", RegexOptions.Singleline);

js 是一个字符串变量。

RegexReplace 签名:

string RegexReplace(this string input, string pattern, string replacement, RegexOptions options)

最佳答案

您正在混合逐字和转义字符。这并不像您预期​​的那样工作,因为您不能使用 \ 来转义 ",但需要使用 "

逐字使用此字符串:

@"(console\.log\(""(.*)""\)\;)"

使用这个字符串,不逐字:

"(console\\.log\\(\"(.*)\"\\)\\;)"

关于c# - 正则表达式字符串定义问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28760275/

相关文章:

java - 使用 java 正则表达式进行电子邮件 ID 验证

java - 重复捕获组与捕获重复组

regex - 字符串——正则表达式中的 x y

c# - Azure 服务总线上的主题 DefaultMessageTimeToLive 和订阅 DefaultMessageTimeToLive 之间的区别

regex - 在 awk 中使用非精确匹配合并两个文件

c# - 为 "staging"环境发布 Azure WebJob 时出错

c# - 在多线程观察者模式中使用什么集合?

c# - 正则表达式电话号码和电话分机

c# 从代码后面更改javascript变量的值

C# :- P/invoke signature