我需要在正則表達式中刪除除匹配組以外的所有組。一個玩具的例子是:正則表達式:除去組除外
echo 'spam 123 ham 345 eggs' | perl -pe 's/(\d+)/SOMETHING/g'
123 345
什麼perl正則表達式將刪除除匹配的組以外的所有組件?匹配組可以比數字更復雜 - 我可以定義要匹配的組,但組外可以包含任何隨機字符
我需要在正則表達式中刪除除匹配組以外的所有組。一個玩具的例子是:正則表達式:除去組除外
echo 'spam 123 ham 345 eggs' | perl -pe 's/(\d+)/SOMETHING/g'
123 345
什麼perl正則表達式將刪除除匹配的組以外的所有組件?匹配組可以比數字更復雜 - 我可以定義要匹配的組,但組外可以包含任何隨機字符
只需加入所有匹配。我不知道Perl,但是像這樣的東西可能會工作:
$result = join('', $subject =~ m/\s*\d+\s*/g);
在Perl中,顯式分隔符必須作爲join的第一個參數提供。空字符串會很好:'$ result = join'',$ subject =〜/.../ g'。 – amon 2013-03-25 16:57:44
@amon:謝謝!我希望現在可以運作。 – 2013-03-25 17:00:20
問題是什麼? – iamnotmaynard 2013-03-25 16:45:00
那麼你是說基於由行開始,行結束和空白字符定義的字符串段,你想過濾除了那些只包含數字的所有段嗎? – 2013-03-25 16:45:22