* U K I Y A H O N P O *
Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura,
che la diritta via era smarrita.
ホーム
一覧
検索
最終更新
リンク
ヘルプ
新規
リンク
手動リンク
自動相互リンク
駄でべWiki:FrontPage
ヘルプ
整形ルール
プラグインマニュアル
浮子屋商店もよろしく。
正規表現講座/2
をテンプレートにして作成
開始行:
TITLE:間違いだらけの正規表現講座 level 2
#contentsx
* 入るものを特定する [#u48c4f4c]
さて、第2回では、「入るものを特定する」伏字のやり方につ...
前回は、正規表現「.」は、なんでもいいから1文字とマッチす...
「マッチ」とは「当てはまる」という意味でしたね。
しかし「なんでもいい」では困る場合もあります。
例えば、テキストファイルから 2006/07/07 のような日付を探...
これを、「..../../..」という正規表現で探してしまうと、
「test/ab/cd」のような要らないものまでマッチしてしまいま...
そこで、今回は「数字だけが入る伏字」や「特定の文字だけが...
* この中のどれか一つ [#yaa871cb]
さて、今回の最初の正規表現記号です。
[abcde]
この記号。これは、「[]の中のどれか一つにマッチする」正規...
この例であれば、「aかbかcかdかeかにマッチする」という意味...
「[」と「]」は半角で書いてください。
さて、これで先ほどの年月日を探す例を書き直してみましょう。
[0123456789][0123456789][0123456789][0123456789]/
[0123456789][0123456789]/[0123456789][0123456789]
単純ですね。
「0123456789のどれかが入る伏字」を使って、????/??/?? の ?...
数字に限定しているわけです。
* こっからここまで全部くれ! [#j729e9c2]
しかし、「数字」を表すために毎回 [0123456789] と書いてい...
そこで、次のような省略記法が用意されています。
[0-9]
これは、「0から9までのどれかにマッチする」正規表現です。~
先ほどの例をこの記法で書き直すと、
[0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]
となります。ずっと短くなりました。
この記法は、勿論数字以外にも使えます。例えば;
[a-z] これはアルファベット小文字にマッチします。
[A-Z] これはアルファベット大文字にマッチします。
組み合わせて使うこともできます。
[0-9a-zA-Z] これはアルファベット大文字、小文字、数字にマ...
* これ以外全部くれ! [#eed0e516]
さて、ついでに、次の記法も覚えておきましょう。
[^abc]
これは、「aとbとc以外の任意の1文字」にマッチする表現です...
「[]」の先頭に「^」が入ると、「~以外の」という意味になり...
例えば、
[^A-Z]
これは、「大文字アルファベット以外の任意の1文字」にマッ...
今はそれほど使い道が思いつかないかもしれませんが、そのう...
一緒に覚えておいてください。
* 練習 [#t5136122]
&attachref(./regex2.png,nolink);
さて、練習の時間です。
正規表現テスターを立ち上げてください。~
今回は大文字小文字を区別したいので、右側のオプションは「...
そうしたら、適当なサイトからテキストを貼り付けてみてくだ...
例では、読売新聞のトップ(http://www.yomiuri.co.jp/)を貼...
その中から、12:34 という形式の時刻表記を探してみます。~
それを表す正規表現は、もう、わかりますね。
[0-9][0-9]:[0-9][0-9]
これを正規表現の欄に入れて、「テスト!」ボタンを押してみ...
* ちょっと脱線 [#f823e4bd]
今回お話したような正規表現は、「文字クラス」と呼ばれてい...
「クラス」というのはコンピュータ用語で沢山出てきますが、
日本人だと、一番に来るイメージは、学校のクラス、ではない...
次に来るのは、「Aクラス」「Bクラス」といった、「等級」と...
どうしてもそんなイメージがあってどうも馴染みにくい気がし...
コンピュータ用語の「クラス」はもうちょっと広い意味で使わ...
非常に大雑把に言ってしまうと、「ひとまとまり」というよう...
つまり、「文字クラス」であれば、「文字のひとまとまり」。~
今回の正規表現は、まさに「文字のひとまとまり」の中からど...
* ご指摘などはこちらへ [#z07b2530]
#comment
終了行:
TITLE:間違いだらけの正規表現講座 level 2
#contentsx
* 入るものを特定する [#u48c4f4c]
さて、第2回では、「入るものを特定する」伏字のやり方につ...
前回は、正規表現「.」は、なんでもいいから1文字とマッチす...
「マッチ」とは「当てはまる」という意味でしたね。
しかし「なんでもいい」では困る場合もあります。
例えば、テキストファイルから 2006/07/07 のような日付を探...
これを、「..../../..」という正規表現で探してしまうと、
「test/ab/cd」のような要らないものまでマッチしてしまいま...
そこで、今回は「数字だけが入る伏字」や「特定の文字だけが...
* この中のどれか一つ [#yaa871cb]
さて、今回の最初の正規表現記号です。
[abcde]
この記号。これは、「[]の中のどれか一つにマッチする」正規...
この例であれば、「aかbかcかdかeかにマッチする」という意味...
「[」と「]」は半角で書いてください。
さて、これで先ほどの年月日を探す例を書き直してみましょう。
[0123456789][0123456789][0123456789][0123456789]/
[0123456789][0123456789]/[0123456789][0123456789]
単純ですね。
「0123456789のどれかが入る伏字」を使って、????/??/?? の ?...
数字に限定しているわけです。
* こっからここまで全部くれ! [#j729e9c2]
しかし、「数字」を表すために毎回 [0123456789] と書いてい...
そこで、次のような省略記法が用意されています。
[0-9]
これは、「0から9までのどれかにマッチする」正規表現です。~
先ほどの例をこの記法で書き直すと、
[0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]
となります。ずっと短くなりました。
この記法は、勿論数字以外にも使えます。例えば;
[a-z] これはアルファベット小文字にマッチします。
[A-Z] これはアルファベット大文字にマッチします。
組み合わせて使うこともできます。
[0-9a-zA-Z] これはアルファベット大文字、小文字、数字にマ...
* これ以外全部くれ! [#eed0e516]
さて、ついでに、次の記法も覚えておきましょう。
[^abc]
これは、「aとbとc以外の任意の1文字」にマッチする表現です...
「[]」の先頭に「^」が入ると、「~以外の」という意味になり...
例えば、
[^A-Z]
これは、「大文字アルファベット以外の任意の1文字」にマッ...
今はそれほど使い道が思いつかないかもしれませんが、そのう...
一緒に覚えておいてください。
* 練習 [#t5136122]
&attachref(./regex2.png,nolink);
さて、練習の時間です。
正規表現テスターを立ち上げてください。~
今回は大文字小文字を区別したいので、右側のオプションは「...
そうしたら、適当なサイトからテキストを貼り付けてみてくだ...
例では、読売新聞のトップ(http://www.yomiuri.co.jp/)を貼...
その中から、12:34 という形式の時刻表記を探してみます。~
それを表す正規表現は、もう、わかりますね。
[0-9][0-9]:[0-9][0-9]
これを正規表現の欄に入れて、「テスト!」ボタンを押してみ...
* ちょっと脱線 [#f823e4bd]
今回お話したような正規表現は、「文字クラス」と呼ばれてい...
「クラス」というのはコンピュータ用語で沢山出てきますが、
日本人だと、一番に来るイメージは、学校のクラス、ではない...
次に来るのは、「Aクラス」「Bクラス」といった、「等級」と...
どうしてもそんなイメージがあってどうも馴染みにくい気がし...
コンピュータ用語の「クラス」はもうちょっと広い意味で使わ...
非常に大雑把に言ってしまうと、「ひとまとまり」というよう...
つまり、「文字クラス」であれば、「文字のひとまとまり」。~
今回の正規表現は、まさに「文字のひとまとまり」の中からど...
* ご指摘などはこちらへ [#z07b2530]
#comment
ページ名: