這裏是文字修剪得從文本所需的字符串:如何用perl
/home/netgear/Desktop/WGET-1.13/wget-1.13/src/cmpt.c:388,error,resourceLeak,Resource leak: fr
從上面的文字我需要的數據旁邊的「:」。我如何獲得388,error,resourceLeak,Resource leak: fr
?
這裏是文字修剪得從文本所需的字符串:如何用perl
/home/netgear/Desktop/WGET-1.13/wget-1.13/src/cmpt.c:388,error,resourceLeak,Resource leak: fr
從上面的文字我需要的數據旁邊的「:」。我如何獲得388,error,resourceLeak,Resource leak: fr
?
您可以使用split
將字符串分隔成基於分隔符的列表。在你的情況下,分隔符應該是一個:
:
my @parts = split ':', $text;
當你要提取還可以包含:
的文本,使用limit
參數後的第一個停止:
my @parts = split ':', $text, 2;
$parts[1]
會然後包含您想要提取的文本。您也可以通過結果到一個列表,丟棄的第一個元素:
my (undef, $extract) = split ':', $text, 2;
除了@RobEarl's建議使用split
的,你可以使用正則表達式來做到這一點。
my ($match) = $text =~ /^[^:]+:(.*?)$/;
正則表達式:
^ the beginning of the string
[^:]+ any character except: ':' (1 or more times)
: match ':'
( group and capture to \1:
.*? any character except \n (0 or more times)
) end of \1
$ before an optional \n, and the end of the string
$match
現在將舉行捕獲組#1
的結果..
388,error,resourceLeak,Resource leak: fr
只是使用正則表達式 – Suic
'我的$ required_part = Q/388,錯誤,resourceLeak,資源泄漏:fr /;' – Toto