skillup

技術ブログ

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

正規表現その2

投稿日:2016年10月31日 更新日:

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

sourceコマンドに関して(Linuxサーバー&MySQL)

Linux上ではコマンドをテキストファイルに記述して、

と入力すると命令を実行してくれます。 シェルスクリプトよりもお手軽に実行できる …

no image

エディタatomについて

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

no image

調査スキルについて

本日は実務でとても大切な不具合の発見方法について 通常のプログラマとして仕事をしておりますと、通常の実装よりは不具合時の調査のほうが難しいことが多々あります。 もちろんものによるんですが、経験のある人 …

no image

nginxインストール(サブディレクトリでcakePHPを使いたいとき)

以前nginxのインストールを行いましたが、理解が浅かったようで今回すげーはまりました(汗) ガチンコ塾でもいっていますが、覚え始めの時はコピペでもいいですが(最初から100%の理解は非現実的)、慣れ …

no image

laravel+vessel

現場のリーダー的な方に進められてVesselというDockerのインストールなどをサポートするツールを触ってみました。 特にlaravelのインストールなどに向いていますが、laravelでなくとも使 …