我想在文件中多次检索落在两个指定字符串之间的字符串
我试过这个,但这不起作用
/(?m)"String 1"!.*?"String2":/;
我想要所有介于“String 1”和“String 2”之间的东西
请帮忙
我想在文件中多次检索落在两个指定字符串之间的字符串
我试过这个,但这不起作用
/(?m)"String 1"!.*?"String2":/;
我想要所有介于“String 1”和“String 2”之间的东西
请帮忙
假设您的输入字符串是这样的
$str='String 1GIANT FISHString 2'
这会起作用
($wanted)= $str =~ /String 1(.*)String 2/
$wanted
现在是“巨鱼”
dah..文件中的多行...编辑即将到来
好的多行,假设输入
String 1Line oneString 2
String 1GIANT FISHString 2
String 1String2
这将得到所有的字符串
(@wanted)= $str =~ /String 1(.*)String 2/g
@wanted 有三个条目
('Line one','GIANT FISH','')
在第二个正则表达式中,g for global 查找字符串中的所有匹配项
下面会做:
perl -lne 'push @a,/string(.*?)string/g;END{print "@a"}'
这两个字符串是字符串和字符串,它们之间的任何内容都将作为数组元素进行存储。下面是我为此目的测试过的示例。无论如何,您可以将两个字符串更改为您需要的任何字符串。
测试:
> cat temp
string123stringstring234string
string456stringstring789string
> perl -lne 'push @a,/string(.*?)string/g;END{print "@a"}' temp
123 234 456 789