我试图逐行解析代码块。有没有办法获取内联评论并将其返回到下一行?我会想象使用正则表达式,但我无法想出表达式。 例如:
if(foo) { //Executes bar function
bar();
}
将是
if(foo) {
//Executes bar function
bar();
}
答案 0 :(得分:1)
使用JavaScript,可以执行以下操作:将所有代码转换为字符串,然后使用/(\/\/.+$)/g
捕获内联注释,然后使用replace代码:
stringVar.replace(/(\/\/.+$)/, '\n\t $1 \n').
如果您有支持正则表达式的文本编辑器或IDE,则可以分别对.replace
和find
选项使用上述replace
模式。
答案 1 :(得分:1)
要匹配所有单行 - 不在空行中的注释,您可以使用以下正则表达式:
/^.*\S+.*(\/\/.*$)/mg
https://regex101.com/r/fU5lO4/1
例如
console.log("hello"); // this comment will be matched
// this comment won't be matched
// this comment won't be matched
您可以使用换行符+本身替换找到的评论。 (也许可以添加一些空格?)
示例
yourText.replace(/^(.*\S+.*)(\/\/.*$)/mg, '$1\n $2' );