# 正規表現一覧 よく使う検索・置換のパターン

コーディングするのによく使う複数パターンの文字列操作・検索置換えをメモしました。

# 量指定子 繰り返し 0 回以上一致 * + ? {n}

記号 説明
* 直前の要素と 0 回以上一致
+ 直前の要素と 1 回以上一致
? 直前の要素と 0 回または 1 回一致
{ n } 直前の要素とちょうど n 回一致
{ n ,} 直前の要素と n 回以上一致
{ n , m } 直前の要素と n 回以上 m 回以下で一致
*? 直前の要素と 0 回以上
+? 直前の要素と 1 回以上
{ n }? 直前の要素とちょうど n 回一致
{ n ,}? 直前の要素と n 回以上
{ n , m }? 直前の要素と n 回以上 m 回以下

# 文字エスケープ バックスペース・改行・エスケープ関連 \b \t \r \n \

記号 説明
\b バックスペース \u0008
\t タブ \u0009
\r 改行 \u000D
\n 改行 \u000A
\ \後ろの文字をエスケープ文字として扱う

# 文字クラス 数字・文字範囲関連 [] [^] \w \s \d

記号 説明
[] []内にある任意の 1 文字
[0-9] 0 から 9 の任意の 1 文字
A-Za-zA-Za-z 全角および半角のアルファベット
[^] [^]内にない任意の 1 文字
[^A-Za-z_] アルファベットおよびアンダースコア以外
. ワイルドカード:\n を除く任意の 1 文字
\w 単語に使用される任意の文字
\W 単語に使用される文字以外の任意の文字
\s 空白文字
\S 空白以外の文字
\d 10 進数字
\D 10 進数以外の任意の文字

# [] 指定範囲にある任意の 1 文字

パターン

[abe] a,b,e の任意の 1 文字

サンプル
absolute

一致結果
a
b
e

# [^] 指定範囲にない任意の 1 文字

パターン

[^abe] a,b,e 以外の任意の 1 文字

サンプル
absolute

一致結果
s
o
l
u
t

# . ワイルドカード:\n を除く任意の 1 文字

パターン

[l.t] 文字 l + (任意の 1 文字) + 文字 t

サンプル
absolute

一致結果
lut

# /w 単語に使用される任意の文字

サンプル
abs 3.14

一致結果
a
b
s
3
1
4

# /W 単語に使用される文字以外の任意の文字

サンプル
abs 3.14

一致結果
" " <- スペース
.

# アンカー 行先頭末尾・ファイル先頭末尾・単語など位置関連 ^ $ \A \z \G \b

記号 説明
^ 行の先頭
$ 行の末尾\nの前
\A ファイルの先頭
\z ファイルの末尾\nの前
\G 前回の一致が終了した位置
\b 単語の先頭か末尾
\B 単語の先頭、末尾以外
\< 単語の先頭
\> 単語の末尾

# ^ 行の先頭

パターン

^\d{3} 先頭から数字 3 つ

サンプル
901-333

一致結果
901

# $ 行の末尾

パターン

\d{3}$ 末尾数字 3 つ

サンプル
901-333

一致結果
333

# \G 行の末尾

パターン

\G\(\d\) 前回(数字)でマッチした終了位置から一致する(数字)

サンプル
(1)(3)(5)[7](9)

一致結果
(1)
(3)
(5)

# 参考

正規表現とは、入力テキスト内で正規表現エンジンによる照合が試行されるパターンです。 パターンは、1 個以上の文字リテラル、演算子、または構成体で構成されます。

正規表現言語 - クイック リファレンス (opens new window)

正規表現一覧 (opens new window)

2019-09-05
  • php
  • javascript

関連記事

Nuxt.js と Ant Design Vue 2 テーマカスタマイズ
Javascript 非同期処理 async と await のメモ
Cookie localStorage sessionStorage の違い
JavaScript ライブラリ aos.js 使ってスクロール連動アニメーション
bootstrap vuejs 使って generate する際に babel が icons ファイル max 500KB エラー
大きいファイルをスライス分割してアップロード
javascript 楽しく遊ぼう!メッセージつぶやくウシ cowsay
Javascript DataTables で excel 風 table 作る
もっと Docker 使おうよ!Node を Docker から引っ張ろうよ
javascript 配列 重複排除
javascript 文字列と配列検索 indexOf findIndex find some includes 関数の違い
国際化 i18n と地域化 L10N
ブラウザーで動く javascript のクッキー操作ライブラリ js-cookie
Jsconfig と Tsconfig
キーコード取得 & キーコード一覧
moment.js 使って日本語曜日対応
ReferenceError: location is not defined
javascript 日本語 shift-js 対応 CSV ダウンロード
nodejs 使う時のエラーたち
Nuxtjs 動的なルーティング静的ページ自動生成
vuejs で omisejapan の決済フォーム作成した時のメモ
javascript password generator ランダム文字列パスワード作成
javascript で作る html から PDF 変換 pdfmake の日本語対応
Javascript 電話番号フォーマット
javascript reduce 連想配列の合計計算覚えよう
react 強制的にレンダリングする方法
javascript  指定場所にスムーズにスクロールする方法
Sweet Alert swal に複数 content
javascript 開発で出会った TypeError
Javascript var let const 変数宣言の違い
Javascript vuejs の validation 正規表現でフォームチェック作ったときのメモ
vuejs back to top button component 作成
Apache 初期設定メモ
Carbon で php date 日付の日数・月数差を計算
codeigniter email ライブラリでメール送信 日本語対応
Codeigniter APPPATH BASEPATH FCPATH 各種パスと URL 取得
nuxtjs と codeigniter で jwt システム構築
Codeigniter 画像アップロードとリサイズ
開発におけるコーディングルール・規約
PHP mbconvertkana 全角半角英数カナ変換
爆速軽量フレームワーク codeigniter PHP 開発
Composer コマンドとオプション
php Exception エラーキャッチでメール送信
php CSV データ取得は fgetcsv 使う
FlattenException deprecated
php curl 使って クリックなしで POST 送信
Laravel blade foreach loop と current url
Laravel でカテゴリー作成 テーブル構築と再帰クエリ
Laravel eloquent model の規約
Laravel Error についてのメモ
Laravel Email バリデーションについて
Laravel Lumen Faker 日本語設定
allowurlinclude の設定で ftp_connect()エラー
Laravel を API サーバーとしての初期設定
PHP empty isset is_null の違い
Class 'Imagick' not found Error
Laravel Log の基本設定&使い方
Laravel メンテナンスモード
Laravel logger でエラーログを chatwork に自動送信
laravel method の基本 get post put options
Lumen と Laravel 違い比較
Laravel Sail で Docker 環境構築
Laravel リクエストログ出力
laravel session を制する
Laravel Sanctum 使って API トークン JWT 認証と SPA 認証
Laravel schedule 設定
Laravel tinker 使って DB データベース接続とコマンド
Laravel timestamp() auto update 有効化無効化
Laravel Test についてのメモ
Laravel 429 Too Many Requests
laravel に vuejs 使うための初期設定
Laravel 5.1 から 8.1 にバージョンアップ
Lumen8 で API 開発
PHP 8.1 から 8.4 へアップグレードしました
HTML から PDF に変換 PHP ライブラリ mPDF の設定
Lumen8 で JWT ユーザー認証
Laravel toSql パラメータ付きで出力
PHP 8 リリース新機能と変更
解決!phpMyAdmin テーブル構造の内容が表示されない問題
Smarty HTTP URL 取得できるサーバー関数
PHP 7.4 にアップグレードして使えなくなる機能
開発時によく使うゼロ埋めパディング作業まとめ
PHP 文字列長さ・文字列の幅を取得方法
php.ini 初期設定のいろいろ
twig 3 人気 PHP テンプレートエンジンがバージョンアップ
Exception: Class 'ZipArchive' not found