Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 perl 中有以下脚本:
use strict; use warnings; my $string = "int array[WIDTH][HEIGHT]"; $string =~ s#.*\[##; print($string."\n");
预期输出:
宽度][高度]
实际输出:
高度]
这个正则表达式有什么问题?
通过添加使.*懒惰?:
.*
?
$string =~ s#.*?\[##; ^
这将使.*匹配尽可能少,因此首先停止[而不消耗它。
[
你也可以$string =~ s#[^\[]*\[##;用来做同样的事情,而且[^\[]不能消费[,所以没必要偷懒。
$string =~ s#[^\[]*\[##;
[^\[]