Perlプログラマーではないので、Pythonに移植する構造をよく理解していることを確認したいと思います。
使用時:
if (s/^([$PChar])(.)/$2/) {
print $1,"\n";
$finished = 0;
}
- $ 1、$2などが正規表現に一致しています
- s/検索/置換/
私が本当に確信していないのは、印刷$1の前にマッチング/置換が行われるかどうかです。現在のバッファ($ F、つまり$ _行ごとに読み取られ、スペース文字で分割されます)内で「インプレース」で実行され、変更されます(つまり、よく理解している場合は、([$ PChar])上記のステートメントで文字列の@先頭が完全に削除/失われた場合)?
編集:いいえ、おそらく失われていません。最初の括弧部分がキャプチャされ、$ 1 +改行文字として出力され、次に...いいえ、$ 2になるものがわかりません...2番目の括弧部分へのバッファ変更でしょうか?/編集終了。
また、Winプラットフォームで段階的なデバッグを実行できる環境や、最適な環境はありますか?私はこれを持っていることを知っています、私はこの質問をしなかったでしょう。そして、私はPerlを学ぶ必要はありません。ただ、このスクリプトを読んで適応させるためだけです。
これがエングロビンの部分です:
@F = split;
for( $j=0; $j<=$#F; $j++) {
my $suffix="";
$_ = $F[$j];
# separate punctuation and parentheses from words
do {
$finished = 1;
# cut off preceding punctuation
if (s/^([$PChar])(.)/$2/) {
print $1,"\n";
$finished = 0;
}
# cut off trailing punctuation
if (s/(.)([$FChar])$/$1/) {
$suffix = "$2\n$suffix";
$finished = 0;
}
スクリプト全体のtokenize.plはここに表示されますが、元のtar.bzはここから表示されます
よろしくお願いします