我正在使用Perl编写脚本并对正则表达式提出疑问。 我需要匹配的所有行,直到匹配正则表达式...
例如:
(".$variable.".EXAMPLE\\d+)
这是捕获行中表达式的正则表达式,我想对其进行更改,因此它将在表达式之前使用整行。
我希望我足够清楚:)
谢谢!
答案 0 :(得分:1)
我会使用capture groups:
/(.*?)(EXAMPLE\d+)/
在匹配操作之后,感兴趣的单词之前的行在捕获组1($1
)中可用。像这样:
$string = "foo bar EXAMPLE1";
$string =~ /(.*?)(EXAMPLE\d+)/;
print($1); # Prints "foo bar "
答案 1 :(得分:0)
只需在开头添加.*?
..这意味着..以非贪婪的方式匹配所有(以便它不会吃掉你的后续正则表达式)
这样的事情:
(.*?EXAMPLE\\d+)