Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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
匹配Javascript代码语句的结尾_Javascript_Regex - Fatal编程技术网

匹配Javascript代码语句的结尾

匹配Javascript代码语句的结尾,javascript,regex,Javascript,Regex,我想处理/解析和修改一些Javascript代码,如果可能的话,最好使用正则表达式(欢迎建议)。目的是在JS中的每条语句之后插入一个新的代码段 例如: 原始Javascript: 我要插入的代码段: 因此,新代码如下所示: 上面的示例非常简单,但真正的JS代码可能更复杂,甚至可以缩小。代码也可能漏掉一些分号一种非常肮脏的方法是在每个左大括号、右大括号和分号之后插入代码片段。像这样: code.replace(/\;/g, '; checkPause(); ').replace(/\{/g, '

我想处理/解析和修改一些Javascript代码,如果可能的话,最好使用正则表达式(欢迎建议)。目的是在JS中的每条语句之后插入一个新的代码段

例如:

原始Javascript:

我要插入的代码段:

因此,新代码如下所示:


上面的示例非常简单,但真正的JS代码可能更复杂,甚至可以缩小。代码也可能漏掉一些分号

一种非常肮脏的方法是在每个左大括号、右大括号和分号之后插入代码片段。像这样:

 code.replace(/\;/g, '; checkPause(); ').replace(/\{/g, '{ checkPause(); ').replace(/\}/g, '} checkPause(); ')

正确的方法是使用解析器。

我假设这是为了调试目的?术语是“插装”,在@RocketHazmat之前有人问过这个问题:@RocketHazmat:我正在用C#构建一个程序,它利用V8引擎运行一些脚本。我需要脚本来检查它是否应该暂停。@user1816548谢谢链接,我正在检查。这在正则表达式中是不可能的。使用javascript解析器。谢谢你的回答,我需要为我的目的进行更多的测试,但它似乎可以工作。我已经把它缩小到C中的
Regex.Replace(code,@“\;”{124;\}\ n“,@“$0 checkPause();”)
。只需注意你的代码不包括例如a=“;”:)
checkPause();
while(true){

    checkPause();
    Utils.log("hello world");
    checkPause();
    Utils.sleep(1000);
    checkPause();

}
checkPause();
 code.replace(/\;/g, '; checkPause(); ').replace(/\{/g, '{ checkPause(); ').replace(/\}/g, '} checkPause(); ')