新規作成 | 管理 | 差分 | 検索 | FrontPage | ページ一覧 | 更新履歴 | RSS

test - <span onMouseOver="alert()">テスト</span>

管理

<span onMouseOver="alert()">テスト</span>

test - <span deactivatedonMouseOver="alert()">テスト</span>

お名前:


改行コードのお勉強。

管理

現在、ここは $line =~ s|\s\.([\r\n]*)$|<br />$1|g; となっております。

行の途中に。test .test

ぴりおどひとつ。test. test

スペース+ピリオド。 . test . test

ん?末尾? …やっぱり $line =~ s|\s\.\r|<br />|g; で巧くいってしまう(笑)。


な . ぜ . な . の . だ . なぜ、$line =~ s|\s\.$|<br />|g; ではダメなのだ。 . なぜ、$line =~ s|\s\.\r$|<br />|g; でなくてはいけないのだ。 . $line =~ s|\s\.\r|<br />|g; と同じになってしまって、ほとんど $ の存在意義がないような気がしてしまうのは、「末尾」「改行」を「私定義」で考えているからなのだろうか。何が解ってないかは解らないが、とにかく大事な何かを解っていないことは確かだ。これは無知の知なのだろうか。無恥の恥なのだろうか。せめて無恥の知であって欲しいと切に願う今日この頃。 . ともかく、どこかによい「正規表現使用例あれこれ」のサンプルはないかしら。実際やってもらわないことには、説明されてもよく解らないのよ。無知の恥。

$word = 'apple';
if ($word =~ /e$/) { print "マッチします"; }
else { print "マッチしません"; } 

<出力結果>
マッチします (apple という文字列の e は末尾にあるため) 
http://www.kent-web.com/perl/chap7.html の説明

ああ、そうだね、末尾と改行は違うものだね。末尾に改行があるとは限らないね。本の「文字列(行)」という表現が解りにくい。 「文字列(=行)」なのか「文字列(含む行)」なのか「文字列(または行)」なのか、とか。


無知の心配。Windows と Macintosh と UNIX の改行コードが違うの云々、という話はここでは関係なくてよいのでしょうか。何から書き込もうと上の \s\.\r のルールで <br> に置換されるのでしょうか。


こんなの発見。 上の二つの疑問を一挙に解決するヒントのようでもあり、何か勘違いしているようでもあり。

… $line =~ s|\s\.[\r\n]$|<br />|g; のほうがいいのかな、何となく…。

↑これだと"あいうえお .\r\n"にマッチしませんよ〜。(多分) . inline()では最初の方で呼ばれてるescape()の処理のおかげで\r\nが\nに置換されているから問題ないですけど。 - yakty


あ、こっちにも。もったいない(ちょっと意味不明)。

そうか、[\r\n] って、「\r か \n のいずれか」ですね…。

escape()の処理のおかげで\r\nが\nに置換されているから問題ない

sub escape の $s =~ s|\r\n|\n|g; これかな。…そうか…。やっぱり、「違う理屈」で動いてたのか…。何かもう、色んな所に目配りしないといけなくて、大変です。タイプミスとか、アップロードするディレクトリを間違えたりとかも含めて。

みだし。

管理

みだし。

2003/06

123456789