我想为以下内容创建一个正则表达式.
我有一些如下文字:
field = "test string";
type = INT;
funcCall(.., field, ...);
...
text = "desc";
field = "test string 1";
type = FLOAT;
funcCall(.., field, ...);
...
text = "desc 2";
field = "test string 2";
type = FLOAT;
funcCall(.., field, ...);
...
text = "desc 3";
.... keeps repeating
Run Code Online (Sandbox Code Playgroud)
基本上我正在尝试创建一个正则表达式,它将从第一个"field ="的开头到第二个"field ="的开头获取所有文本.它必须跳过函数调用中使用的字段文本.
我目前有以下内容:
my @overall = ($string =~ m/field\s*=.*?/gis);
Run Code Online (Sandbox Code Playgroud)
但是,这只是获得文本"field =".没有"?" 它从第一个到最后一个实例获取所有数据.
我也尝试过:
my @overall = ($string =~ m/field\s*=.*field\s*=/gis);
Run Code Online (Sandbox Code Playgroud)
然而,这将使我得到所有其他实例,因为它占有第二个"field ="字符串.有什么建议?