正则表达式 - 在引号中获取字符串忽略转义的引号和注释

时间:2017-02-07 07:11:57

标签: c# regex string escaping quotes

我的正则表达式需要帮助。我用C#。 我需要一个正则表达式匹配引号内的所有字符串,但我需要忽略字符串中的转义引号和这样的注释中的字符串。

//“Hello Guys” - >忽略字符串

SayHello(“ Hello i \”需要“我们的帮助”); - >匹配整个字符串。

目前使用的正则表达式是:Demo regex

2 个答案:

答案 0 :(得分:1)

如果你在用字符串评论之前知道字符的长度,我们可以使用负面的lookbehind。因为消极的外观不能使用量词。某事like this

(?<!\/\/.)".*?[^\\]"

或者这样做。删除使用此正则表达式使用//的所有评论

\/\/.*

然后使用它来获取所有字符串

".*?[^\\]"

答案 1 :(得分:1)

使用补语(处理补语)并不是正则表达式的好处(不计算一些more or less exotic extensions,而是自动机理论和形式语言精神的正则表达式。)

//注释需要在自己的传递中被过滤掉或被无害内容替换。

逃脱需要类似的处理。

然后你可以将解散的内容与一些正则表达式匹配。