Web開発まとめ【PHP】正規表現で使えるオプション(パターン修飾子)まとめPHPでは正規表現を文字列として定義します。次が正規表現パターンの例PHP'/\w+apple/'1'/\w+apple/'このような文字列を検索や置換系の関数に渡すことで正規表現として機能します。PHPでの正規表現の表現方法や使い方まとめそしてこの正規表現ではオプション(パターン修飾子)も使用可能です。後にオプションを表す1文字を並べます。ここではPHP正規表現で使えるオプションについて記憶の整理も兼ねてまとめてみました。このページの目次PHP正規表現のオプションまとめiオプションmオプションsオプションxオプションAオプションUオプションちなみにJavaScriptの場合は・・・ここまでのまとめPHP正規表現のオプションまとめ全て紹介しませんが、よく使うのは次の6つのオプションiオプションmオプションsオプションxオプションAオプションUオプションちなみにオプション文字は大文字と小文字が区別されることに注意です。したりするとエラーになります。これらオプションの使い方やコード例は次の通りiオプションパターン内の大文字・小文字の関係なしにマッチさせるオプションつまりこれを使えば大文字や小文字を区別せずに検索や置換ができるということです。大文字・小文字は区別されません。以上がiオプションの使い方これは検索とか置換で結構よく使うオプションですね。各行ごとにマッチさせるオプション通常mオプションをつけないと複数行文字列でも1行として認識されます。全文字列の最後にしかマッチしません。それだと不都合な場合、つまり各行でマッチさせる場合に使われるオプションです。期待通りに機能しません。)に置換されるようになるので、次のような期待通りの置換結果になります。piyoこういう風に複数行の置換をするときにmオプションは便利です。以上がmオプションの使い方これを付けない場合、複数行でも1行と認識される点に注意です。改行文字が含まれません。複数行文字列で行をまたいでマッチさせるのに必要なオプションです。書いてしまうと対象文字列の1行目にしかマッチしません。書くことで行をまたいで全ての文字列にマッチできます。piyo全行が置き換えられているのが分かります。使用頻度は低いものの知っておくと役に立つかもしてません。xオプションパターン内の空白文字やコメントを無視させるオプション正規表現をスペースなど使って見やすい形で書くときに便利そうなオプションです。ちなみにコメントも無視するようですが、調べてもよく分かりませんでした。置換結果は次の通りabcdef1abcdef空白に関係なく正規表現がマッチしているのが分かります。以上がxオプションの使い方ぎゅうぎゅう詰めの正規表現が嫌いな人はこのオプションが便利かもAオプションパターンを強制的に固定させるためのオプションもっと簡単にいえば対象文字列の先頭でだけマッチさせるということパターンに当てはまる最初の文字列だけ検索したり、置換することができます。起き返されるという訳です。最初だけ検索したい置換したいという場合に便利なオプションです。n回の繰り返しなどが量指定子としては有名ですね。この量指定子はデフォルトだと最長一致します。次のコードを見てください。eが1回以上繰り替えされたときにマッチします。全てマッチしていることが分かります。いう風に最長マッチすることを「貪欲」と呼んでいるわけです。Uオプションを使うとこの「貪欲」が反転します。最短マッチになります。マッチしてないのが分かるはずこういう風に最短マッチするのがUオプションの特徴です。ちなみにUオプションを使わなくても「貪欲さ」は反転できます。同じ書き方ができます。量指定子全体の「貪欲さ」をコントロールするためのオプションです。以上がPHPで使える正規表現オプションこれと同じようにJavaScriptでも正規表現オプションが使用できます。ユニコード値で文字をマッチ詳しくは次記事でまとめたので良ければご覧ください。Web開発まとめ【JavaScript】正規表現オプションの意味と使い方まとめhttps://pisuke-code.com/javascript-regexp-options/JavaScriptの正規表現はいくつか表し方があります。)の「貪欲さ」を反転させる他にもオプションはありますが、よく使うのはこの6つだと思います。以上PHP正規表現で使えるオプション(パターン修飾子)まとめでした。個人でWebサービスとかツールとかを開発しているWeb系の人。このブログでは学んだことや開発に役立つ知識、プログラマーや開発者向けの情報を発信していく予定。PHP、JavaScript(jQuery)、CSSがメイン。コメントをキャンセルメールアドレスが公開されることはありません。付いている欄は必須項目ですCommentName*Email*Website上に表示された文字を入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。個人でWebサービスとかツールとかを開発しているWeb系の人。このブログでは学んだことや開発に役立つ知識、プログラマーや開発者向けの情報を発信しています。未分類JavaScriptjQueryPHPCSSWordPressこんなアプリも作ってます。3Dドット絵メーカー(オープンベータ版)3Dドット絵(ボクセルアート)を作れるアプリ。個人でWebサービスとかツールとかを開発しているWeb系の人。このブログでは学んだことや開発に役立つ知識、プログラマーや開発者向けの情報を発信しています。2020.02.26Androidで簡単にシェア(共有)機能実装。