[トップページ] [星雲紀行] [MLXS] [WPGen] [自作音楽] [モデル] [vi/vim] [tips] [自己紹介]

正規表現

目次

  1. このページは
  2. tips
    1. スペースだけの行を探す
    2. 空行を探す
    3. 数字の文字列を探す
    4. 規則性が甘いファイルを探す
  3. 参考文献・参考ウェブページ

このページは

正規表現についてのTIPS。
正規表現は検索につかう文字(列)指定方法。
正規表現
メタキャラクタ意味
. (dot) 改行以外の任意の一文字
* (asterisk) 直前の文字の0回以上の繰り返し。DOS のように”何でも”ではない。
もし”何でも”を表現するときには
$ grep "search" target.*
これでtarget で始まるファイル名が対象にできる。
^ (サーカムフレックス) 意味は2 つ。
  1. 行頭の文字
    $ grep ^\<FRAME index.html
    <FRAMESET cols="110,*" border="1" bordercolor="#000000" frameborder="yes" framespacing="1">
    行頭の文字を探すことができる。
  2. [^0-9] などのようにして、要素が含まれない指定を表せる。
    [^0-9] で数字以外
    [^a-zA-Z] でアルファベット以外
    [^0-9a-zA-Z] でアルファベットと数字以外
$ (doller) 行末を示す。
例)
$ grep \<\/CENTER>$ targetfiles
<CENTER><B><FONT SIZE=+1>コ鋿ョテ・/FONT></B></CENTER>
<CENTER><B><FONT SIZE=+1>コ鋿ョテ・/FONT></B></CENTER>
<CENTER><IMG SRC="/images/uc001.gif" HEIGHT=43 WIDTH=72></CENTER>
これでファイル名の末尾が"</CENTER>" のファイルを対象にできる。
[ ](ブラケット) 中に入っている文字のどれかひとつにあてはまる。
たとえば IMAGE000[0123] はIMAGE0000, IMAGE0001, IMAGE0002, IMAGE0003 が対象となる。
\ (yen, backslash) エスケープ文字。これをメタキャラクタの前につけると通常の文字として使える。
たとえば$ を行末以外の意味で使わずにそのものの文字として使用するときには
$ grep \$ targetfiles
とする

[目次]

tips

スペースだけの行を探す

$ grep " .*" targetfiles
[目次]

空行を探す

$ grep "^$" targetfiles
[目次]

数字の文字列を探す

たとえばファイルの中の文字列から IMAGE0000 からIMAGE9999 を探す。

$ grep "IMAGE[0-9][0-9][0-9][0-9]" targetfiles
他にも[0-9], [a-z], [A-Z] などの表現が可能。
[目次]

規則性が甘いファイルを探す

たとえば電話番号で 03-1234-xxxx か 03(1234)xxxx か混在しているとき。

$ grep "03[-(][0-9][0-9][0-9][0-9][-)][0-9][0-9][0-9][0-9]" targetfiles
$ grep "^$" targetfiles
[目次]

PATTERN_1 を含み、PATTERN_2 を含まない文字列を探す

m/(?=.*PATTERN_1)(?!.*PATTERN_2)/x
[目次]

参考文献・参考ウェブページ

[目次]

履歴

  • 2006/03/11 履歴作成開始
  • 2004/00/00 作成
ご意見、ご感想、誤字、間違い等、お気づきの点がありましたら KGussan@Gmail.com まで連絡ください。
このウェブページの注意・免責事項 Copyright (C) 2004-2012 KGussan. [トップページ]
[PR:元国税局勤務の起業家向け、遺産相続の相談なら植村洋税理士事務所:一時間無料税理士相談。お気軽に。]