Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于删除JavaScript双斜杠(//)样式注释的正则表达式_C#_.net_Regex - Fatal编程技术网

C# 用于删除JavaScript双斜杠(//)样式注释的正则表达式

C# 用于删除JavaScript双斜杠(//)样式注释的正则表达式,c#,.net,regex,C#,.net,Regex,我正试图通过C#中的正则表达式删除JavaScript注释,结果被卡住了。我想删除任何出现的双斜杠/样式注释 我当前的正则表达式是(?它将捕获所有注释并阻止http://的匹配。但是,反向查找是懒惰的,当然在下面的测试用例中对我进行了回击: var XSLPath = "//" + Node; 因此,我正在寻找一个正则表达式,它将执行查找,以查看匹配之前是否出现偶数个双引号(“)。我不确定这是否可行。或者是否有更好的方法来执行此操作?(根据注释更新) 这看起来效果很好: (

我正试图通过C#中的正则表达式删除JavaScript注释,结果被卡住了。我想删除任何出现的双斜杠
/
样式注释

我当前的正则表达式是
(?它将捕获所有注释并阻止
http://
的匹配。但是,反向查找是懒惰的,当然在下面的测试用例中对我进行了回击:

var XSLPath = "//" + Node;
因此,我正在寻找一个正则表达式,它将执行查找,以查看匹配之前是否出现偶数个双引号(
)。我不确定这是否可行。或者是否有更好的方法来执行此操作?

(根据注释更新)

这看起来效果很好:

(?<=".*".*)//.*$|(?<!".*)//.*$
但它足够聪明,可以匹配这行末尾的评论:

var XSLPath = "//" + Node;
var XSLPath = "//"; // stuff to remove

但是,在评论之前知道如何处理3个或3个以上的引号是不够聪明的。我不完全确定如何在不硬编码的情况下解决这个问题。您需要某种方法来允许偶数个引号。

但是,通过
(?在类似这样的问题上失败:“text//more text"@LFSR咨询——做得很好,您的修改似乎解决了这个问题。希望您不介意,但我用您的修复更新了我的答案。Joel,似乎您需要某种方法来允许在斜杠之前使用偶数个引号,而不是奇数。嗯……我再次更新了我的正则表达式。这将匹配注释,即使前面有两个引号,但是不是1个引号。始终使用