Javascript中函数表达式中块之间的换行符

时间:2016-04-28 18:06:54

标签: regex ide line-breaks

我有以下代码

$scope.someMethod = function () {
    // code
}
$scope.someOtherMethod = function () {
    // code
}
$scope.randomMethod = function () {
    // code
}

我想成为:

$scope.someMethod = function () {
   // code
}

$scope.someOtherMethod = function () {
   // code
}

$scope.randomMethod = function () {
    // code
}

是否有任何IDE,文本编辑器或RegEX来添加此换行符?建议?

感谢。

1 个答案:

答案 0 :(得分:1)

描述

此正则表达式将执行以下操作:

  • 查找以$scope开头且包含function
  • 的所有行
  • 在这些行前面插入一个空行

请注意,有大量边缘情况会触发此类表达式。

正则表达式:

^(\$scope[.](?:(?!\n).)*?function)

替换为:

\n$1

Regular expression visualization

实施例

直播示例

https://repl.it/CLkb/1

Javascript代码

var Regex = new RegExp("^(\\\$scope[.](?:(?!\n).)*?function)" ,"mg" )   
var SourceString = `
$scope.someMethod = function () { 
    // code 
}
$scope.someOtherMethod = function () {
    // code
}
$scope.randomMethod = function () {
    // code
}
`

var Result = SourceString.replace(Regex, "\n$1");

console.log(SourceString)
console.log()
console.log(Result)

示例输出

$scope.someMethod = function () { 
    // code 
}
$scope.someOtherMethod = function () {
    // code
}
$scope.randomMethod = function () {
    // code
}


$scope.someMethod = function () { 
    // code 
}

$scope.someOtherMethod = function () {
    // code
}

$scope.randomMethod = function () {
    // code
}