skillup

技術ブログ

サーバー・ネットワーク プログラミング全般

正規表現その2

投稿日:

10/28に書いた正規表現に関しての追記です。

覚えておきたいメタ文字

よく出るメタ文字の復習です。

メタ文字 メタ文字の説明
[] いずれかの1文字 [abc]はaかbかcのどれか
[^~]  ~以外のどれか
 []内で使われると範囲。例[a-z]はaからzまで。そうでなければ普通の文字と一緒
. 任意の1文字
() 内部でマッチした文字のキャプチャ、グループ化
? 直前の文字やパターンが1回、もしくは0回(最短一致)
* 直前のパターンが0回以上連続
+ 直前のパターンが1回以上連続
{n,m} 直前の文字パターンがn回以上、m回以下
| or条件を作る
^ 行頭
$ 行末
\ メタ文字のエスケープ。その他\n,\w等を作る

例えばhtmlのselectタグのoptionのvalueを抜くことを考えてみましょう。

これは下記正規表現で抽出することができます。

留意点

  • +や*は汎用性が高すぎるので特に文字をキャッチしさせる場合は半角英数だけの場合は\wなどで代用するか?などで最短一致を考える
  • +や*はパフォーマンス的にも遅いのでできるだけ制約の多い文字にする。
  • 個人的にはスクレイピングをすると正規表現に強くなるかと思いますので、お勧めです。
  •  エスケープ文字を/するのを忘れないようにする。エスケープする必要がないのに\をしないように。
  •  タブ文字(\t,\nなど)に注意

言語によって違いは若干あるかもです

-サーバー・ネットワーク, プログラミング全般
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

jenkinsのオートデプロイ

久々にJavaやりました。 Contents1 やりたいこと2 ハマりポイント2.1 Antでのjobの設定2.2 jenkinsでビルドできない2.3 jenkinsのオートデプロイ2.4 SSHで …

no image

オブジェクト指向について その1

ちょっと最近、仕事でソースの書き方がいい加減になってきたのでオブジェクト指向について考え方を再確認しようと思います。 参考文献 SoftWareDesign 2015年9月号 何も考えずにプログラムを …

no image

FastCGIに関して

nginxについて学習してきましたが、今回はphp-fpmについてです。 Contents1 そもそもの構成2 CGIのメカニズム3 FastCGI4 nginxでの設定に関して4.1 fastcgi …

no image

オブジェクト指向 クラスの設計と業務ロジックの整理

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。 本日は主にクラスの作り方について。 Contents1 クラス設計と業務ロジック1.1 要点1.2 感想 クラス設計と業務ロジック …

no image

エディタatomについて

今までのエディタですが、 gvim eclipse をメインに使ってました(PHPでは)。 エディタとか一旦なれるとなかなか変えにくいのでずっと上記のままでいこうと思ったんですが、今の現場でatomを …