1
無法使用sed從正則表達式中刪除量詞和元字符。 使代碼複雜化的目的是在eval中使用。perl sed逃避正則表達式的量詞
$word_check = "about\s*[\w\s]+";
$word_check =~ s/\\\[.+\\\]//g;
$$word_count[$#$word_count + 1] +=() = $word_check =~ /(\w+)\s*/g;
Word_check是正則表達式的副本。想要減少正則表達式,只有它是與 匹配的話。使用正則表達式來做到這一點。然後計算單詞並將結果保存到數組中。 選擇背後的原因是正則表達式是除了幾個和 匹配($ &)的工作時,刪除的話。來自eval。下面的代碼旨在作爲一個字符串。
for (my \$i = 0; \$i < \$\$ref_word_count[\$R]; \$i++) {
\$temp_str =~ s/^\\w+\\s*//;
}
OK找到答案。只需要分解一些sed語句,並將方括號看作是一個字符。
$word_check =~ s/i$//;
$word_check =~ s/[\.\+]//g;
$word_check =~ s/\\[sdwSWD]//g;
$word_check =~ s/[[]//g;
$word_check =~ s/[]]//g;
$word_check =~ s/[*]//g;
$word_check =~ s/[?]//g;
你的問題不太清楚。你到底想做什麼?你能發表一個有效的例子,有一個輸入和期望的輸出嗎? –