正则表达式删除JavaScript的双斜线(/)风格的评论
我试图通过C#中的正则表达式去除javascript评论,并且陷入了僵局。 我想删除任何出现的双斜杠//
样式注释。
我当前的正则表达式是(?<!:)//[^rn]*
,它将捕获所有注释并阻止匹配http://
。 然而,负面的负面看法是懒惰的,当然在下面的测试案例中让我回想起来:
var XSLPath = "//" + Node;
所以我正在寻找一个正则表达式,它会执行一个后台查看是否在匹配之前出现偶数个双引号( "
),但我不确定这是否可能,或者有更好的方法可以做到这一点?
(根据评论更新)
它看起来像这样工作得很好:
(?<=".*".*)//.*$|(?<!".*)//.*$
看来正则表达式英雄中的测试用例表明,它会按我认为应该(几乎)的方式匹配评论。
例如,它会完全忽略这一行:
var XSLPath = "//" + Node;
但它足够聪明,可以匹配该行末尾的注释:
var XSLPath = "//"; // stuff to remove
然而,在评论之前知道如何处理3个或更多引号是不够智能的。 我不完全确定如何解决这个问题,而不用硬编码。 你需要一些方法来允许偶数个引号。
链接地址: http://www.djcxy.com/p/20065.html上一篇: Regex to remove javascript double slash (//) style comments
下一篇: What are the differences between JSON and JavaScript object?