正则表达式在某些字符之前找到文本

我有这样的大文件:

f = """
(function ($hx_exp,$g) { 
var A = function() { };
$hxCls[1] = $hxCls["A"] = A;
A.__name__ = ["A"];
A.__get = function(d,e) {
     return "a"; 
};
var B = function(a,c) {
    this.r = new Func1(a,c);
};
$hxCls[2] = $hxCls["B"] = B;
B.__name__ = ["B"];
B.prototype = {
   r: null,map: function(s,f) { return 0; },__class__: B
};
}(this));
"""

我想将此文本拆分成这样:

var A = function() { };
$hxCls[1] = $hxCls["A"] = A;
A.__name__ = ["A"];
A.__get = function(d,e) {
        return "a"; 
};

我使用正则表达式:

re.findall(r"(^var.+)",txt)

但是我只资助以下行:

  

var A = function(){};

     

var B = function(a,c){

也许有人知道可以将如此大的JavaScript文件分解成几个其他文件的库。

iskingwang 回答:正则表达式在某些字符之前找到文本

尝试一下:

re.finditer(r"var\s\w\s=.*?(?=var\sB|\}\(this\))",txt,re.DOTALL)

测试:https://regex101.com/r/2O6rgN/1/

本文链接:https://www.f2er.com/3103324.html

大家都在问