- ベストアンサー
文字列にコントロール文字を含むと何ができるの?
プログラミングPerlを読んでいます。 ページをめくる速度が、すっごい遅いのですが・・・ やっとこさ74ページまできました・・・ 今回の疑問は文字列中にコントロール文字を埋め込むと何ができるの? というものです。 この疑問が浮かんだきっかけは このページでコントロール文字を表す正規表現が紹介されていたからです。 このような正規表現が用意されているということはコントロール文字を使用した文字列マッチを行うことを想定しているのだと思います。 すなわちコントロール文字を含んだ文字列を扱う場面が出てくるのだと思うのです。 このような文字列は、どのような場面で登場するのでしょうか。 また、どのような働きをするのでしょうか。 恐らく文字列を画面やプリンターへ出力するのと同時に、何か別の事柄を一緒に行うのではないかと予想しているのですが・・・ ちょっと気になったので質問しました。 どなたか教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.2
- komorebi99
- ベストアンサー率33% (15/45)
回答No.1
お礼
sakusaker7さん、ご返信ありがとうございます。 プログラミングPerlの正規表現の規則6:アトムの最後の所で次の解説文があります。 逆スラッシュの直後にcがあり、さらに1文字が続くもの(例えば\cD)は、対応するコントロール文字にマッチする。 また、45ページのエスケープシーケンスの一覧表には載っていませんでしたが ""中にコントロール文字をエスケープシーケンスとして記述できることを確認しました。 処分してしまったとはもったいない!! 私は、最新のプログラミングPerlが2冊構成になっているのを嫌い、わざわざヤフオクから旧版を取り寄せました^^ このようなコントロール文字の正規表現が用意された経緯や理由(の予想)は、興味深くためになりました。 そして、文字セットにJISコードを使用している場合には、このコントロール文字による文字列マッチにお目にかかるのですね。 あと、昨日ネットで調べたところユニックスではCtrlキーを押しながらJキーを押すと、Enterキーと同じ効果があることを知りました。 ですので次のコードを実行すると"マッチ\n"が表示できました。 $_ = " "; print("マッチ\n") if(/\cJ/); ようはパールお得意の、いろんな書き方ができるよ! という認識でいいですよね今は