Diary
Perlの正規表現のこと
Perlを勉強しはじめたばかりのころ、正規表現については苦手で、避けて通っていた。
だがProgramming Perlの「Pattern Matching」を読んでからというもの、今ではPerlでも一番面白いところだと思えるようになった。
とは言うものの、英語と一緒で読むのは簡単でもいざ自分で書こうとなると、なかなか難しいのではないかと思う。
それですごくくだらないものなのだが、Perlの正規表現の練習用(または自分が書いた正規表現の確認用)のスクリプトを作ってみた。
こちら
です。
たとえばPattern for matchingに
(?:(?<=[^"=>])|^)(http:\/\/[\w.~\-\/?&+=#]+)
と記入した場合、String for matchingに
http://www.t-okada.com/cgi/
を入れると「Good!」になりますが
http://www.t-okada.com/cgi/
または
<A HREF="http://www.t-okada.com/cgi/">
を入れると「Didn't Match!」になります。
これはいわゆるオートリンクのための正規表現のつもりです。Aタグを使った場合以外にのみURLがオートリンクされると思いますが、間違いがありましたらどうぞご指摘下さいませ。
なお上記ですが
(?:(?<=[^"=])|^)(http:\/\/[\w.~\-\/?&+=#]+)
にすると
http://www.t-okada.com/cgi/
にはマッチしてしまいます。
※このスクリプトは(こんなもの実際に使う人いないかもしれませんが、)誰でも入力出来るような形で公開すると、もしかしてとんでもないことになるかもしれないので、もしも使うのならローカルで使用して下さいね。
追記:
そう言えばオートリンクの正規表現については前にもこの日記で書いた覚えがあり、同じ事ばかり言っていてすみません。
ところで上記の正規表現ちょっと直しました。文字クラスの中では\はいらないのでこれも取ってみましたが、-の前の\を取るとなぜかエラーに。文字クラスの中では-は特別な意味があることを忘れていました。
2002年01月28日(月)
No.14
Comment(0)
この記事へのコメントは以下のフォームからどうぞ
Name
E-Mail
URL
感想
1000文字まで
Icon
ランダム
アイコンなし
Icon
投稿キー
を右に記入して下さい
Pass
No.
PASS
No.
USER
PASS
<<
2002年01月
>>
日
月
火
水
木
金
土
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
最近の記事
テスト投稿です
2023年07月04日(火)
トラックバックについ..
2006年05月23日(火)
バージョンアップ
2006年04月04日(火)
日記のテンプレート
2006年02月15日(水)
日記CGIとBBSC..
2005年10月20日(木)
Perl&MySQL
2005年08月25日(木)
バージョンアップ
2005年06月05日(日)
shiromukuV..
2005年05月25日(水)
バージョンアップ
2005年04月27日(水)
バージョンアップ
2005年04月19日(火)
最近のコメント
感想
byシロムク
at 2023/07/05/12:32:29
このコメントは管理人..
byshion
at 2011/01/29/10:35:14
非表示コメントのテス..
byshiromuku
at 2011/01/03/21:23:25
投稿テストです。
byshiromuku
at 2008/07/30/01:21:13
最近のトラックバック
トラックバックについて
┗
機能拡張について
(++Diary++/2022/11/24)
┗
あああ
(日記/2011/09/30)
┗
ホームページをいじってみました。
(日記/2011/08/12)
┗
ホームページをいじってみました。
(日記/2011/08/12)
バージョンアップ
┗
機能拡張について
(++Diary++/2022/11/25)
カテゴリー
日記(10)
趣味(1)
Perl(1)
未分類(29)
日記アーカイブ
2023年
07月の記事
2006年
02月の記事
04月の記事
05月の記事
2005年
03月の記事
04月の記事
05月の記事
06月の記事
08月の記事
10月の記事
2004年
01月の記事
02月の記事
03月の記事
11月の記事
2003年
01月の記事
03月の記事
04月の記事
06月の記事
07月の記事
08月の記事
10月の記事
12月の記事
2002年
01月の記事
02月の記事
06月の記事
11月の記事
12月の記事
2001年
08月の記事
09月の記事
10月の記事
11月の記事
検索
OR
AND
スペースで区切って複数指定可能
日記投稿
PASS
RSS
++HOME++
[Admin]
[TOP]
shiromuku(fs6)DIARY
version 4.00