藤岡さん
>> ※注、プロンプトは今のところフィクションです。
これは気にしないでください。
パスも通りましたし。フィクションでなくなりました。
> やはり、(?=...)や(?!...)の...の部分がSJISだと動かないようですね。鈴木
>さんの書かれている通りですね。
間違っているかもしれませんし、すでに解決済みかもしれませんが。
鈴木さんが書かれているのは、look-behind、つまり '(?<=...)' と '(?<!...)'
のことなんですよね(青ラクダ、今日、注文。なので確かめようがないのですが)。
で、これは実験が思いつかないので、素直に Bruce. さんの「2バイト文字で戻
れないのには理由がある」をそのまま拝聴してしまうことにしてしまったのです
が、以下は実験できました。look-aheadの肯定・否定です。
Jperl -pe "s/ユーザ(?!ー)/ユーザー/;" test.txt
ユーザ #input (test.txt)
ユーザー #input (test.txt)
ユーザー #output
ユーザー #output
Jperl -pe "s/ユーザ(?=ー)/ユザ/;" test.txt ■
ユーザー #input (test.txt)
ユーザ #input (test.txt)
ユザー #output
ユーザ #output
「クラスの否定で一文字喰われてしまうのが悔しい」だけだったので、■の例
は強引な例になってますが。
>C:\Scripts\Perl\jperl>jperl -pe "s/ユーザ([^ー])/ユーザー$1/;" test.txt
なので、これは1文字喰われて、「ユーザ」(改行)ではうまくいかないと思
うのですが。何か間違ってますかねぇ…。
やっぱり『実践実用』、職場にありました。カメレオンに見覚えあったんです
よね。いい本じゃないですか!(まだちゃんと見られていないのですが。でも、
IEでなくFireFoxなもので、お気に入りが違う…。またしても文字コードの悩み)。
でも、勉強させていただきます。m(__)m そして赤ラクダも発見。青がいなくて
驚いた。perlに色目を使っていたのは、そんな昔だったのか?
文太