正規表現はじめの一歩

正規表現はじめの一歩

  • 2018-10-07  最終更新日:2018-10-07

今回は正規表現です。たまにしか使わないのですぐに忘れてしまいますのでまとめておきます。 文字列の検索時にある条件にマッチしたものを表示させるものです。

エディターにも検索条件に正規表現という検索方法もあるかと思います。単純な条件ではなく複雑な条件で表示させることが出来てとても便利です。データ検索と置換は重要ですね。

簡単にまとめておきました。覚える項目は4項目だけです。


スポンサーリンク


1.基本

正規表現

まずは基本のパターンマッチングです。いくつかの文字列を検索するためのメタキャラクタ(メタ文字)を掲載してあります。

メタ文字 説明
. 改行を除く任意の1文字に一致
\w アルファベット、数字、アンダスコア( _ )のどれかの1文字、'[A-Za-z0-9_]' と同じ意味。
\W アルファベット、数字、アンダスコア以外の1文字、'[^A-Za-z0-9_]' と同じ意味。
\s スペース、タブ、フォームフィードなどの任意の空白文字と一致、[ \f\n\r\t\v] と同じ意味。
\S 空白文字以外の任意の文字と一致、[^ \f\n\r\t\v] と同じ意味。
\d 半角数字1文字、[0-9] と同じ意味。
\D 半角数字以外、[^0-9] と同じ意味。
\n 改行文字と一致。
\r キャリッジリターン文字と一致。
\t タブ文字と一致。
[abc] 検索文字を指定します。角かっこ[]で囲まれた文字の中のいずれかに一致。たとえば、'[abc]' は "Alphabet" の 'ab' と一致。
[^abc] 除外する検索文字を指定します。角かっこ[]で囲まれた文字以外の文字に一致。たとえば、'[^abc]' は "Alphabet" の 'Alphet' と一致。
[a-z] 指定された範囲にある文字と一致。たとえば、"[a-z]" は小文字の英字 "a" から "z" の範囲にある任意の文字と一致。
[^a-z] 否定の文字の範囲。たとえば、"[^a-z]" は小文字の英字 "a" から "z" の範囲外にある任意の文字と一致。
(x|y) x または y と一致。たとえば、'eat|drink' は"eat"または"drink"と一致します。"(sam|ap)ple" は "sample" または "apple" に一致します。

2.修飾子

量指定子とも言いますが、文字数がどれくらいなのか不明な場合や回数指定する場合などに利用します。 この方法を利用して要素を何回一致させるか指定することができます。

メタ文字 説明
* 直前の文字0回以上の繰り返しに一致。たとえば、'fo*'は"f"とも"foo"とも一致。* は {0,} と同じ意味。
+ 直前の文字1回以上の繰り返しに一致。たとえば、"fo+"は"fo"や"fooo" とは一致しますが、"f" とは一致しません。+ は {1,} と同じ意味。
? 直前の文字0回または1回一致。たとえば、'https?' は"http"または"https"と一致。? は{0,1}と同じ意味。
{n} nには0以上の整数を指定します。正確にn回一致します。たとえば、'o{2}'は"Tomの'o'とは一致しませんが、"food"の2つの o とは一致します。
{n,} nには0以上の整数を指定します。少なくともn回一致します。たとえば、'o{2}'は"Tom"の'o'とは一致しませんが、"foooood"のすべての o とは一致します。'o{1,}' は 'o+' と同じ意味になります。'o{0,}' は 'o*' と同じ意味になります。
{n,m} m および n には 0 以上の整数を指定します。n は m 以下です。n ~ m 回一致します。たとえば、'o{1,3}' は "fooooood" の最初の 3 つの o と一致します。'o{0,1}' は 'o?' と同じ意味になります。カンマと数の間には、スペースを入れないでください。

3.アンカー

文字列の先頭や末尾に特定の文字がある文字列も表現できます。行の先頭や末尾などの指定も出来ます。

メタ文字 説明
^ 入力文字列の先頭と一致。
$ 入力文字列の末尾と一致。
\b 単語の境界と一致。単語の境界とは、単語とスペースとの間の位置のことです。たとえば、'er\b'は"bloger" の'er'と一致しますが、"term"の'er'とは一致しません。
\B 単語境界以外と一致します。たとえば、'er\B'は "term"の'er'と一致しますが、"bloger"の'er'とは一致しません。

4.変数

条件でカッコ()を指定して再利用する方法です。カッコ()で囲われた部分を変数に代入することができます。この変数は$1,$2,$3…と使うこと可能です。置換する際に便利です。

https?://www.example.com/(\d{4})/(\d{2})/post-(\d{1,4}).html
⇒https://www.example.com/$1/$2/$3/

英数字記号

半角英数文字記号のhtmlファイルを検索する場合は以下のような感じになるかと思います。

([!-~]+).html

33番のコードから126番のコードまでという意味になります。

以下のコード表が参考になりました。

ブラウザで正規表現

以下はブラウザ上で正規表現が出来るものです。確認する際に利用が出来て便利ですね。

参考になれば幸いです。


∞Tadashi Suyama∞

正規表現 regular expression
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

サイト内検索

最近の投稿

アイキャッチ
ブラウザ上でデザインができるツールのCanva(キャンバ)のご紹介

簡単にプロ並みのデザインという感じで作成できてしまうデザインツールのご紹介です。 デザインのスキルはなくてもテンプレートから選ぶだけで、必要な素材をドラッグアンドドロップで簡単に出来てしまうツー...

11 Dec 2018

アイキャッチ
WordPress内でFTP操作ができるプラグインFile Managerのご紹介

今回はワードプレスプラグインFile Managerのご紹介です。これはどんなプラグインかと申しますと、ダッシュボードにFTPソフトが入ったようなプラグインです。FTPソフトがなくてもワードプレ...

26 Nov 2018

アイキャッチ
WordPressでPHPの値をJavaScriptファイルへ渡す方法

今回はワードプレスの値をJavaScriptに渡す方法です。ワードプレスからじゃなくてPHPからJavaScriptへ値を渡す方法もご紹介します。 PHPの値をJavaScriptで処理を行う...

22 Nov 2018

アイキャッチ
アイキャッチ画像がない場合に記事内はじめの画像をアイキャッチにする方法とリンク先画像取得-WordPress

今回はワードプレスのアイキャッチです。記事内はじめの画像を取ってくる方法は結構出回っているので、リンク先の画像を撮ってくる方法をプラスしたやり方になります。 記事内はじめの画像を取得する方法は...

10 Nov 2018

アイキャッチ
豊富で魅力的な画像素材サイトPxBee

画像素材サイトのご紹介です。Pxbeeというfotor提供のサイトです。1枚から購入ができて金額もお手頃です。普段はアドビのアドビストックを利用していますが検索したときの画像の量が多い気がします...

06 Nov 2018

著者

ウェブエンジニアの須山のブログです。

WEBに関することや個人的に関心のあることについて書きます。主に技術系ブログです。

タグクラウド

正規表現 regular expression
フッターイメージ