正規表現とは

■正規表現とは
正規表現とは、文字列または文字列のパターン等をメタキャラクタ(※ 特殊文字) を組みあわせて記述する表現の事です。 UNIXのシェルやコマンドプロンプト等(昔はMS-DOS・・同じものであるとは言えませんが) でよく使用します。
ファイルや文字列などの指定などに使用することができます。 文字列検索や置換等、非常に細かく指定できるので使いようによっては非常に便利です。 (今は沢山の高機能なソフトなどもあるようなので、複雑な処理を行う場合には そちらの方がはるかに便利かもしれませんが、使い方を覚えておいて損は無いと思います。)
これでどういったことができるのかを非常に簡単な例であげてみます。(Win)
まずコマンドプロンプトを立ち上げます。(ファイル名を指定して実行「cmd」と入力) ・・その前に、簡単なテキストファイルも用意しておきましょう。 内容はわかりやすいようにこんな感じ。意味不明ですが、サンプルですので適当です。
▼ sample.txt

aaaaaaaaa
bbbbbbbbb
5eeee
cccccccaaa
http://shop.denkaseihin.com/
あいうえ
かきくいう
かいくけ
hytt
aaa
aa
aaaaaaaabbb
abcde
3hhhh
まず、このテキストファイルから、先頭行が「a」で始まる文字列だけを取り出したい場合・・ コマンドプロンプトのコマンドラインに以下のように入力して実行します。
>findstr "^a" sample.txt
するとこのように「a」で始まる文字列だけがウィンドウに表示されます。
aaaaaaaaa
aaa
aa
aaaaaaaabbb
abcde
(「いう」に一致する文字を含む文字列を取り出したい場合)

>findstr "いう" sample.txt



あいうえ
かきくいう
(先頭行が数字で始まるものだけを取り出したい場合)

>findstr "^[0-9]" sample.txt



5eeee
3hhhh
(先頭が「http://」ではじまるもの)

>findstr "¥<http¥:¥/¥/" sample.txt



http://shop.denkaseihin.com/
(先頭行が「a」で始まる文字列だけを取り出し、
bbb.txtテキストファイルに書き出す)

>findstr "^a" sample.txt > bbb.txt
aaaaaaaaa
aaa
aa
aaaaaaaabbb
abcde
が、「bbb.txt」に書き出されます。なおもし同名のファイルが 現在作業しているフォルダに存在していた場合、上書きされるので注意。
現在ある内容の下に書き足していきたい場合には、「>> bbb.txt」として下さい。
この程度でしたら、簡易エディタでも簡単にできますし、上のものに余り実用性はありません。 実用性を持たせようと思ったらもっと複雑に指定しなければならないので、 よほど使いこなせないと難しいでしょう。 ファイル名を正規表現を使用して一括変換させたりもできるなど、 大量のファイルを一括に扱う場合などに非常に便利です。
*   直前の文字、部分文字列などを0回以上繰り返す
^   行頭に一致
$   行末に一致
[abc...]   []内の任意の一文字に一致
[x-y]   指定範囲での任意の一文字
[^abc...]   []内以外の文字を含む
¥<aaa   「aaa」で始まる文字列に一致

・・・他多数。
色々書きましたが、ソフトなどを使用すれば簡単にできます。 もっと色々な表現方法があるので興味があれば調べてみて下さい。 ただ予期しない動作をする場合もよくありますので、自己責任で行って下さい。
2005.10.16 Sunday | PC設定関連・豆知識 | - | trackbacks(0) | 記事URL
▲PAGETOP
同カテゴリーの記事 最新5件
Trackback:
http://shop.denkaseihin.com/trackback/264
※記事と関連性が低い等、管理人が不適当と判断したものについては削除させて頂きます。
新着記事
CATEGORY
まめ知識
COMMENT
  • 巨大なサイズのファイルも一瞬で削除出来るコマンド del
    denkaseihin (04/15)
  • 巨大なサイズのファイルも一瞬で削除出来るコマンド del
    原田 (04/14)
  • HPの h8-1080jpレビュー 内蔵GPU〜GTX580まで可のSandy Bridge搭載マシン
    denkaseihin (09/18)
  • HPの h8-1080jpレビュー 内蔵GPU〜GTX580まで可のSandy Bridge搭載マシン
    ヨーイチ (09/18)
  • HPの h8-1080jpレビュー 内蔵GPU〜GTX580まで可のSandy Bridge搭載マシン
    denkaseihin (09/14)
  • HPの h8-1080jpレビュー 内蔵GPU〜GTX580まで可のSandy Bridge搭載マシン
    MN (09/13)
  • Firefoxでcookieが保存されないという現象が発生したら
    denkaseihin (10/28)
  • Firefoxでcookieが保存されないという現象が発生したら
    KEKE (10/27)
SMTWTFS
    123
45678910
11121314151617
18192021222324
252627282930 
<< June 2017 >>
RSS
ARCHIVES
MOBILE
qrcode
LINK

Copyright © 2005 - denkaseihin. All Rights Reserved.