.」は「改行を除くすべての文字」を表現します。頻繁に利用する「.」ですが、改行を越えてすべての文字を吟味できません。改行を含めて文字列マッチを見つける方法をまとめました。特殊文字の「.(ドット)」は「改行以外の1文字」を意味します。これと量指定子の「*(0回以上の連続)」などを利用して、任意の文字列をマッチさせる正規表現「.*」はよく利用しますが、注意が必要なのは、文字列中に「改行」があるとそこで途切れてしまうという点です。今回、改行を含めて、文字列の検索を行う方法をまとめてみます。方法1エスケープシーケンス「\s\S」を利用する「改行を含めたすべての文字列」を対象としたい時は、下記の2つのエスケープシーケンス表現を利用します。フィードなどの任意の空白文字\S:空白文字以外の任意の文字これらは、互いに反対の関係です。PHPでの使用例を見てみます。"Matched";[]の角括弧による表現は、「文字セット」や「文字クラス」と呼ばれ、カッコ内にふくまれるすべての文字を対象とします。上記の例は、\sか、\Sのいずれかの文字、すなわち「空白を含むすべての文字」で、0回以上繰り返す、最長のマッチを探す事になります。方法2パターン修飾子を適応し、「.」の振る舞いを変える正規表現における改行コードの取り扱いに関して、シングルラインモード、マルチラインモードという2つのモードを切り替えられるのが一般的です。修飾子「m」と「s」で「$」が表す行末の定義や、「.(ドット)」が改行コードを含むかどうかを変更できます。場合でも)単一の行からなるとして処理します。対象文字列の最初にしかマッチしません。最後にある改行記号の前のみにしかマッチしません。各改行の直前と直後にそれぞれマッチします。この修飾子を設定しても意味はありません。改行を含む全ての文字にマッチします。これを設定しない場合は、改行にはマッチしません。この修飾子の設定によらず、常に改行文字にマッチします。PHPでは下記のような表現で、改行を含むすべての文字列が処理可能です。"Matched";モードの切り替えによって「.」の意味だけでなく「^」の意味が混乱しやすいので、注意が必要です。不要な混乱をさけるため、筆者はあまり積極的にはシングルラインモードを使いません。参考リンクドットメタ文字の振る舞いは、各正規表現エンジンで振る舞いが異なるため、各言語の仕様をよく確認しながら進める必要があります。リモートブランチの最新に合わせようとしたら・・、あれ?コンフリクト・・?なにこれ、うまくいかない12021-05-11Git正規表現:数字の表現。桁数や範囲など正規表現での、数字に桁数に関する方法に関してです。これを応用して、数字の大きさの範囲を指定します。正規表現にいて、複数のパターンのうち「いずれか、または」を意味する「OR」を表現する方法についてです。正規表現の基本、行頭(行の先頭)と行末(行の末尾)を表す表現です。取り消し方法や、やり直し操作に関する方法をまとめました。桁数や範囲など正規表現での、数字に桁数に関する方法に関してです。これを応用して、数字の大きさの範囲を指定します。正規表現にいて、複数のパターンのうち「いずれか、または」を意味する「OR」を表現する方法についてです。正規表現の基本、行頭(行の先頭)と行末(行の末尾)を表す表現です。正規表現における、前方一致(先頭一致)、また後方一致の表現方法です。正規表現での、全角、半角のスペースの表現方法についてです。正規表現:文字列を「含まない」否定の表現まとめ2021-12-18正規表現:数字の表現。強制し、リモートでローカルを上書きする方法2021-05-11正規表現:数字の表現。コマンドの履歴を削除する方法2021-12-19「WWWクリエイターズ」は、より多くの人が開発とウェブを楽しむための目指したウェブサイトです。コマンドラインやgitなど、開発ビギナーのつまづきやすい部分を共有しています。})(jQuery);閉じる。