我正在尝试制作将匹配文件中所有 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/