

岡田 康介
名前:岡田 康介(おかだ こうすけ) ニックネーム:コウ、または「こうちゃん」 年齢:28歳 性別:男性 職業:ブロガー(SEOやライフスタイル系を中心に活動) 居住地:東京都(都心のワンルームマンション) 出身地:千葉県船橋市 身長:175cm 血液型:O型 誕生日:1997年4月3日 趣味:カフェ巡り、写真撮影、ランニング、読書(自己啓発やエッセイ)、映画鑑賞、ガジェット収集 性格:ポジティブでフランク、人見知りはしないタイプ。好奇心旺盛で新しいものにすぐ飛びつく性格。計画性がある一方で、思いついたらすぐ行動するフットワークの軽さもある。 1日(平日)のタイムスケジュール 7:00 起床:軽くストレッチして朝のニュースをチェック。ブラックコーヒーで目を覚ます。 7:30 朝ラン:近所の公園を30分ほどランニング。頭をリセットして新しいアイデアを考える時間。 8:30 朝食&SNSチェック:トーストやヨーグルトを食べながら、TwitterやInstagramでトレンドを確認。 9:30 ブログ執筆スタート:カフェに移動してノートPCで記事を書いたり、リサーチを進める。 12:30 昼食:お気に入りのカフェや定食屋でランチ。食事をしながら読書やネタ探し。 14:00 取材・撮影・リサーチ:街歩きをしながら写真を撮ったり、新しいお店を開拓してネタにする。 16:00 執筆&編集作業:帰宅して集中モードで記事を仕上げ、SEOチェックやアイキャッチ作成も行う。 19:00 夕食:自炊か外食。たまに友人と飲みに行って情報交換。 21:00 ブログのアクセス解析・改善点チェック:Googleアナリティクスやサーチコンソールを見て数字を分析。 22:00 映画鑑賞や趣味の時間:Amazonプライムで映画やドラマを楽しむ。 24:00 就寝:明日のアイデアをメモしてから眠りにつく。
正規表現・とは?
正規表現とは、文字列の中から特定のパターンに合う部分を見つけたり、置換したり、分割したりするための記法です。プログラミングを使う場面でよく活躍します。ここでは初心者にも分かるように、基本から実例まで解説します。
正規表現の基本的な考え方
正規表現は文字の並びをパターンとして表します。パターンと対象の文字列を照合することで、条件に合う部分を「抽出」したり「置換」したり「分割」したりできます。覚えるべき第一のポイントは、文字はそのままの文字としてマッチすることと、特別な意味を持つ記号があることです。
よく使われる記号と意味
記号 | 意味の例 |
---|---|
. | 任意の1文字を表す(改行を除く) |
* | 0回以上の繰り返し |
+ | 1回以上の繰り返し |
? | 0回または1回の繰り返し |
[0-9] | 数字1文字のクラス |
[A-Za-z_] | 英字・アンダースコアのクラス |
^[…] | 行の先頭にマッチ(例: ^abc) |
$ | 行の末尾にマッチ(例: end$) |
{n} | ちょうど n 回の繰り返し |
{n,} | n 回以上の繰り返し |
{n,m} | n 回以上 m 回以下の繰り返し |
実践的な例
例1: 数字だけを取り出す
パターン: [0-9]+ これは 1 個以上の数字の連続にマッチします。例えば 123 と 45 678 など、数字の塊ごとに取り出せます。
例2: メールアドレスを検出する
パターン: [A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,} これは一般的な形のメールアドレスにマッチします。現実の複雑さは別として、初心者の学習にはこの形で十分です。
例3: 行全体を英数字だけで満たすかを調べる
パターン: ^[A-Za-z0-9]+$ この正規表現は、文字列全体が英数字だけで構成される場合にマッチします。途中に空白や記号が混ざっていればマッチしません。
例4: ドットを文字として扱う方法とエスケープの考え方
正規表現の中には、ピリオドなど特別な意味を持つ文字があります。文字として使いたい場合はエスケープを使います。前にバックスラッシュを置くことで、その文字は特殊な意味を失い、ただの文字として扱われます。例えば、ドットを文字として扱いたい場合は \\., と書きます。
注意点として、正規表現は使用する言語やツールによって微妙に差異があります。文字コードの違いや、デフォルトの挙動の違いにも注意してください。
正規表現の応用と検証のコツ
現実の課題では、複数の条件を組み合わせることが多いです。たとえば、電話番号の検出、日付の形式検証、パスワードの強度チェックなどです。まずは簡単なパターンから始め、オンラインの正規表現テストツールを使って素早く検証する癖をつけましょう。テストを繰り返すことで、パターンの意味が少しずつ分かっていきます。
よくある躓きと対処法
- 躓き1 記号の意味を混同してしまうことがあります。意味を一つずつ覚え、実際の文字列で試してみましょう。
- 躓き2 設定している言語やツールによって微妙に挙動が異なる場合があります。公式ドキュメントを確認する癖をつけましょう。
- 躓き3 特殊文字のエスケープを忘れるとマッチしないことがあります。必要な箇所に \\ を付けてみましょう。
最後に、正規表現は道具です。使い方次第で強力な検索・変換の武器になります。使い方を練習して、自分だけのパターン集を作るとさらに上手になります。
正規表現の関連サジェスト解説
- 正規表現 とは プログラミング
- 正規表現 とは プログラミング で使われる特別な文字列パターンのことです。簡単に言うと文字の並び方をルールにして表現する道具で、文章の中から特定の言葉を探したり、見つかった文字列を別の文字列に置き換えたり、文章を区切って分けたりするのに役立ちます。初心者の方はまずリテラルと呼ばれる普通の文字をそのまま使うところから始めましょう。次に記号を使って少しだけ強力な検索を作ります。たとえばドット . は「任意の1文字」を表します。アスタリスク * は直前の文字の0回以上の繰り返し、プラス記号 + は1回以上の繰り返しを意味します。角括弧 [ ] はこの中のいずれか1文字を示します。これらの基本を組み合わせると、細かい条件で文字列を絞り込むことができます。具体例として、文章中のこんにちはを探すだけならパターンこんにちはをそのまま使います。数字だけを集めたい場合は \\d+ のように数字の連続を表すパターンを使います(言語によってエスケープが少し異なることがあります)。また全体が数字だけかを調べるには ^\\d+$ のように先頭と末尾を指定します。さらに電話番号風の形式を探すには \\d{3}-\\d{4} のように回数を指定する書き方も便利です。正規表現は学ぶ際には言語ごとの仕様の違いにも注意が必要ですが、基本の考え方は同じです。初めは短いパターンから練習し、実際のテキストで試してみるのがコツです。対話形式の練習問題やオンラインのツールを活用すると理解が深まりやすいでしょう。
- 正規表現 とは java
- 正規表現とは、文字列の中から特定の並びを見つけたり、置換したりする仕組みです。Javaでは正規表現を扱うために Pattern と Matcher という2つのクラスを使います。Pattern は正規表現そのものを表し、Matcher はその正規表現を使って文字列を実際に照合する道具です。使い方の流れはシンプルで、まず正規表現を Pattern として作成します。次にその Pattern を使って文字列を照合する Matcher を作り、find や matches などのメソッドを呼ぶことで該当箇所を見つけたり、全体がパターンに一致しているかを調べたりします。正規表現には、1文字を表す仕組みや、複数の文字を一度に表す仕組み、任意の回数を表す仕組みなど、多くの基本要素があります。中でも点は任意の1文字を、星は直前の文字の0回以上の繰り返し、+ は1回以上の繰り返し、? は0回か1回を表すという考えを覚えておくと、パターンの理解が進みます。文字クラスと呼ばれる [] の集合や、数字を表す記号、英数字を表す範囲、空白を表す記号など、よく使う要素を知っておくと実務で役立ちます。エコーのように見える複雑なパターンも、まずは小さな要素に分解して組み合わせる練習をすると理解が進みます。メールアドレスの検証や、3桁の数字の検出、特定の文字列の置換といった基本的な用途を通じて、正規表現の感覚をつかむことができます。実務では、Pattern の生成を繰り返し行わないよう再利用を心がけ、find と matches の違いを理解すること、長くて複雑なパターンを分解してテストすることが大切です。最後に、公式ドキュメントを参照しながら、少しずつ練習を積むと自信を持って使えるようになります。
- 正規表現 エスケープ とは
- 正規表現 エスケープ とは、正規表現の中で特別な意味を持つ文字を“文字として扱う”ための基本的な方法です。正規表現には、点「.」、星印「*」、疑問符「?」、括弧「()」など多くの記号があり、それらはそのまま使うと特別な機能を発動します。エスケープを使うと、それらの記号を普通の文字として検索できるようになります。\n実際の書き方は、エスケープしたい記号の前にバックスラッシュを1つ付ける形です。言語によっては、文字列リテラルの中でさらにエスケープが必要になることもあります。\nよく使う例として、ドットを文字として検索したい場合は \\. と書きます。これにより「a.b」という文字列を検索する際、正規表現は「a」, 「.」, 「b」という並びを探します。\n他にも、プラス記号「+」を文字として検索したいときは \\+, 括弧を文字として探したいときは \\( と \\) のように書きます。\n注意点として、文字クラス内 [ ] の中では多くの文字はそのままで意味を持たないこともあります。例えば [.] のように書くと、ドット自体を表します。\n最後に、正規表現はエンジンや言語によって細かな違いがある点に気をつけましょう。基本的なエスケープの考え方は同じですが、文字列リテラルの取り扱いに違いが出ることがあります。
- 正規表現 キャプチャ とは
- 正規表現 キャプチャ とは、正規表現の中で括弧 ( ) で囲んだ部分を取り出して使う仕組みのことです。キャプチャを使うと、文字列の一部だけを切り出したり、後で再利用したりできます。たとえば、電話番号のような決まった形式の文字列から市外局番や本数を取り出したい場合に便利です。基本的な考え方は、パターンの中に () で囲んだ部分が“グループ”として作られ、文字列にそのパターンを適用したときに、マッチした部分を取り出せることです。グループには番号が付き、左から 1, 2, 3 … の順に呼ばれます。特別な場合を除き、最初の全体のまとまりはグループ0と呼ばれ、通常はマッチ結果の最初の要素です。例: パターンは ([0-9]{3})-([0-9]{4}) 。文字列は '123-4567'。このとき、全体マッチは '123-4567'、グループ1は '123'、グループ2は '4567' となります。実際の言語での使い方は少し異なりますが、だいたい次のようになります。 JavaScript なら regex.test() や string.match() で取得、結果の配列の [1], [2] にグループが入ります。 Python なら re.match() や re.search() の group(1), group(2) で取り出せます。キャプチャには役立つ応用もあり、同じパターンを複数回使う場合の再利用、文字列の一部を別の形に整形する際の中間データとして活躍します。一方で、括弧が多すぎると複雑さが増すため、必要な部分だけを括弧で取り出すように心がけましょう。
- python 正規表現 とは
- この記事では python 正規表現 とは 何かを、中学生にも分かる言葉で説明します。正規表現とは、文字の並びを指定して、文字列を探したり置き換えたりする“パターンのこと”です。Python ではこの機能を使うと、文章の中から特定の文字列を取り出したり、日付の形をチェックしたりできます。正規表現を使うにはまず python の標準ライブラリの re を使います。import re で準備をします。次にいくつかの基本的な考え方を覚えましょう。点や数字の意味を表す記号には、ピリオドは任意の1文字、\d は数字、\w は英数字とアンダースコアなどの意味です。+ は1回以上の繰り返し、* は0回以上の繰り返し、? は0回か1回を表します。角かっこ [ ] で、任意の1文字の集合を作れます。例えば [aeiou] は母音のいずれか、[0-9] は数字の範囲を表します。パターンを文字列として書いて、re.search、re.match、re.findall、re.sub のような関数で実際に使います。例を見てみましょう。電話番号の形を探すには r'\d{2,4}-\d{2,4}-\d{4}' のように書きます。これは2~4桁の数字、ハイフン、2~4桁、ハイフン、4桁という形を意味します。もし文字列の中にこの形があれば、見つけて教えてくれます。置換の例として '猫' を '犬' に変えるには re.sub('猫','犬', text) を使います。正規表現の良い点は、長い文章の中から特定のパターンだけを取り出せること、データの整形を自動化できることです。一方で難しすぎると扱いにくく、パターンをテストしながら作るのがコツです。実際の練習として、日付をチェックするパターンや、メールアドレスを探すパターンを自分で作って試してみましょう。正規表現は最初は少し覚えることが多いですが、覚えるとテキスト処理がとても楽になります。
- サクラエディタ 正規表現 とは
- サクラエディタ正規表現とは、特定の文字列パターンを「規則」として表し、それに合う文字列を検索したり置換したりする機能のことです。普通に文字を探すよりも、パターンを使って一度に複数の文字列を扱えるため、長いテキストやデータの整理にとても役立ちます。初心者には最初は難しく感じますが、基本を押さえれば使いこせるようになります。サクラエディタでの使い方はとてもシンプルです。検索ダイアログを開くには Ctrl+F、置換ダイアログは Ctrl+H などのショートカットを使います。ダイアログ内の正規表現チェックをオンにすると、パターンに従って文字列を検索できます。置換を使う場合は、置換後の文字列を入力してからすべて置換を選ぶと、条件に合う部分だけを新しい文字列に変えられます。基礎の記号を覚えると、複雑なパターンも作れるようになります。よく使うものは、^ が行の先頭、$ が行の末尾、. が任意の1文字、[] が文字の集合、() がグループ化、| が選択肢の区切り、* が前の文字の0回以上の繰り返し、+ が1回以上、? が0回または1回、{n,m} が回数の範囲指定です。これらを組み合わせれば、特定の文字列だけを取り出したり、複数のパターンを同時に探したりできます。いくつかの実用例です。1) 4桁の数字を探すには [0-9]{4} を使います。2) 行の先頭に現れる英数字の連続を取り出したいときは ^[A-Za-z0-9]+ を使います。3) 連続する空白を1つにまとめたいときは {2,} というパターンを使います(置換で 1 つに変えます)。4) 日付などを抽出する際は ([0-9]{4})/([0-9]{2})/([0-9]{2}) のようにカンマ区切りを検出できます。置換時には、括弧で囲んだグループを \1, \2 などのバックリファレンスで新しい文字列に組み込むことが一般的です。実際の置換では、サクラエディタの置換ダイアログのヘルプを確認しながら、バックリファレンスの使い方を覚えると良いでしょう。作業前にはデータのバックアップを取ることをおすすめします。
- linux 正規表現 とは
- linux 正規表現 とは、テキストの中から特定の文字列の並びをパターンとして表現し、それに合う部分を見つけ出す仕組みです。linux の多くのコマンドはこの正規表現を使ってファイルの中身を検索したり、置換したりします。代表的なコマンドには grep、sed、awk があります。正規表現の基本は、文字そのものを表すリテラル、特別な意味を持つメタ文字、そしてそれらを組み合わせることです。よく使うメタ文字をいくつか挙げます。^ は行の先頭、$ は行の末尾、. は改行を除く任意の1文字、* は直前の文字の0回以上の繰り返し、[] は文字の集合、() でグルーピング、? は直前の文字の0回または1回を表します。これらを組み合わせて、たとえば「grep 'cat' ファイル名」で cat を含む行を探したり、「grep '^A' ファイル名」で A から始まる行を探したりできます。正規表現には POSIX の BRE(基本正規表現)と ERE(拡張正規表現)の二つの互換性レベルがあり、grep はデフォルトで BRE を使い、-E オプションで ERE を使えます。さらに高度な置換には sed や awk も利用します。たとえば sed -E 's/cat/dog/g' ファイル名 は、cat を dog にすべて置換します。初心者はまず基本的なパターンから覚え、段階的に応用していくと良いでしょう。
- vba 正規表現 とは
- vba 正規表現 とは まず覚えると便利な考え方です 正規表現は文字列の中から決まった形を探す道具です 文字の並び方をパターンとして表現し そのパターンに合う文字列を見つけたり置き換えたりできます VBA は Excel などを自動化する言語ですが 正規表現を組み合わせるとテキスト処理がとても速くなります 使い方の準備としては Microsoft VBScript Regular Expressions 5.5 のライブラリを参照に加える方法と 後述する遅延バインディングで CreateObject を使う方法の二通りがあります ライブラリを追加すると正規表現用のオブジェクトが使えます 参照を使わない場合は CreateObject でオブジェクトを作ります 基本的な使い方の流れは 文字列を用意し RegExp オブジェクトを作って Pattern に探したい形を設定し Global を true にすると文字列全体を検索できます IgnoreCase を使えば大文字小文字を無視できます Execute で見つかった結果を取り出します 置換が必要なら Replace を使います 実用的な例としては メールアドレスの検出や電話番号の抽出などが挙げられます これらはデータの中から必要な情報だけを取り出すのに役立ちますが 先頭の文字や区切り文字が異なる場合も Pattern を少しずつ調整するだけで対応できます 注意点としては 正規表現は強力ですが過度に複雑になりがちで 学習コストがあります 小さな Pattern から練習し 自分のデータに合わせて徐々に拡張していくと理解が深まります
- javascript 正規表現 とは
- この記事では javascript 正規表現 とは 何か、どう使うのかを初心者にも分かるように解説します。正規表現とは、文字の並びを決まった型で探したり、取り替えたりするための「ルール集」のようなものです。JavaScript ではこの機能を RegExp(レグエクプションではなく RegExp)と呼び、文字列を扱うときにとても便利です。正規表現は /.../ のリテラル形式か、new RegExp(...) で作ります。リテラル形式はすぐに使えるので、はじめての人にはこちらをおすすめします。基本のしくみを知ろう。例えば /cat/ は文字列の中に cat があるかを調べます。文字列 'catapult' の中には cat が含まれています。match メソッドを使うと、検索結果が返ってきます。よく使う機能の代表例を見てみよう。- 文字クラス: [abc] は a, b, c のいずれか1文字にマッチします。- 数字や文字の集合: \d は数字、\w は英数字とアンダースコア、\s は空白文字です。- 量指定子: * は0回以上、+ は1回以上、? は0回または1回、{n,m} はn回以上m回以下を表します。- アンカーとグループ: ^ は行の先頭、$ は行の末尾を示します。() でグループ化したり | で選択を作ることができます。実際の例を挙げます。1) 連続した数字を探す: const re1 = /\\d+/; 'abc 123'.match(re1) -> ['123'];2) 文字列の置換: '私の電話は 123-4567 です'.replace(/\\d{3}-\\d{4}/, 'TEL') → '私の電話は TEL です'。3) 入力のざっくり検証: const re2 = /^[^@]+@[^@]+\\.[^@]+$/; 文字列がこの形かどうかを test します。注意点も覚えよう。正規表現は全ての文字を同じように扱えるわけではなく、Unicode を正しく扱いたいときは u フラグを付けます。大文字小文字を区別したくないときは i フラグを使います。正規表現は慣れが必要ですが、少しずつ練習すると役立つ道具になります。使い方のコツ。まず何を探すかを決め、次にパターンを作り、テストを行い、コードに組み込みます。ブラウザのデベロッパーツールには正規表現を試せる機能があるので、練習用のサンプルを作って試してみてください。
正規表現の同意語
- 正規表現
- 文字列のパターンを表す記法。検索・抽出・置換など、文字列をパターンに合わせて操作するための標準的な手法。英語では Regular Expression、略して Regex とも呼ばれます。
- レギュラー表現
- 正規表現の別称として使われることがある表現。意味は同じく、文字列のパターンを記述する記法です。
- 正規表現パターン
- 正規表現の“パターン”部分を指す表現。実務では正規表現全体を指すことが多いですが、特定のパターンを表すときにも使われます。
- 正規表現リテラル
- プログラミング言語のソースコード中に、そのままの形で記述された正規表現。言語ごとに区切り文字(例: /…/ や '…' など)が異なります。
- 正規表現式
- 正規表現を指す別称。語感としては同義で使われることがあります。
- Regex
- 英語表記の略称。日本語の文章中でもそのまま使われることが多く、正規表現の同義語として扱われます。
正規表現の対義語・反対語
- 非正規表現
- 正規表現を使わないこと。パターン指定をシンプルにする場合や、ワイルドカードだけを使う場合などを指します。
- 文字列リテラルマッチ
- 検索語を文字列としてそのまま厳密に一致させるマッチ。正規表現の解釈や特殊文字の意味付けは行いません。
- 固定文字列検索
- あらかじめ決められた固定の文字列だけを探す方法。正規表現のような動的なパターン変換を使いません。
- 完全一致検索
- 検索語と対象文字列が全体で完全に一致するかを判定するマッチ。部分的な一致や前後に余白を許容しません。
- プレーンテキスト検索
- 特別なパターンや記号を使わず、平文のテキストをそのまま検索する方法。
- ワイルドカード検索
- 星印やクエスチョンマークなどの簡易なワイルドカードを用いたパターンで検索する方法。正規表現より制限が緩く使いやすいことが多いです。
- 逐語検索
- 語を順番どおり、文字どおりに完全一致させる検索。大文字小文字を区別する場合も多いです。
- パターンレス検索
- あらかじめ定義されたパターンを使わず、文字列をそのまま探す方法。正規表現のパワフルな機能を使いません。
- リテラル一致
- 文字列をそのままリテラルとして一致させる、最も基本的なマッチ。特殊文字の解釈をしないのが特徴です。
正規表現の共起語
- パターン
- 正規表現で表現する文字列の構造。何にマッチさせたいかを決める設計図です。
- メタ文字
- 正規表現で特別な意味を持つ文字。例: .や^、$、*、+、?、{ }、[ ]、( )、| など。
- 文字クラス
- [] の中に置いた文字のいずれか1文字にマッチします。範囲指定も使え、[a-z] などが典型例。
- 量指定
- 直前の要素の出現回数を制御する指定。例: a{2,4} は a が 2 回から 4 回繰り返される。
- アンカー
- 文字列の特定の位置にマッチさせる機能。^ は先頭、$ は末尾を示します。
- エスケープ
- メタ文字を通常の文字として扱うための方法。前にバックスラッシュを置きます。
- バックスラッシュ
- エスケープの際に使う記号。\d, \w, \s などのショートカットにも使われます。
- 括弧
- () で囲んだ部分を一つの単位として扱い、グルーピングやキャプチャに利用します。
- グルーピング
- 括弧を使って部分をまとめ、後で参照したり繰り返しをかけたりします。
- キャプチャ
- マッチした部分を後で取り出せるように記録します。
- 非捕獲グループ
- ?: で始まる括弧。マッチはしますがキャプチャとしては保存しません。
- 後方参照
- 直前に捕捉したグループを再利用してマッチさせます。
- 先読み
- lookahead。(?=...) の形式で、現在位置の後ろを見て条件を判定します。
- 否定先読み
- ?! の形で、後ろが条件を満たさないことを確認します。
- 貪欲マッチ
- デフォルトはできるだけ長くマッチします。
- 非貪欲マッチ
- 最短一致を狙う動作。? や lazy 量指定を使います。
- ショートカット文字
- \d は数字、\w は英数字/アンダースコア、\s は空白文字を表します。
- リテラル
- 特定の文字をそのままマッチさせる指定。メタ文字を避けたいときに使います。
- Unicode/UTF-8
- 多言語の文字を扱う際の文字コードと表現の話題。
- 正規表現エンジン
- 正規表現を実際に動かす機械。実装により挙動が微妙に異なります。
- PCRE
- Perl Compatible Regular Expressions の略。高機能なエンジンの代表格。
- 言語別実装
- JavaScript、Python、Java、Ruby、PHP、.NET など、それぞれの API に違いがあります。
- 検証/バリデーション
- 入力がパターンに合うかを検証する用途に使われます。
- 置換
- マッチした部分を別の文字列に置換します。言語ごとに置換関数の呼び方が異なります。
- 検索
- パターンに合う箇所を文字列から見つけ出します。
- デバッグツール
- オンラインツールや IDE の機能で正規表現を検証・デバッグします。
- 可読性/設計
- 複雑な式は読みづらくなるため、分解やコメントを活用します。
- エスケープシーケンス
- 改行やタブなどの制御文字を表す表現。例: \n、\t など。
- 修飾子/フラグ
- i(大文字小文字を無視)、g(全体検索)、m(複数行)、s( . が改行にもマッチ )など。
- 最適化/パフォーマンス
- パターンの設計を見直して、過剰なマッチを避ける工夫をします。
正規表現の関連用語
- メタ文字
- 正規表現で特別な意味を持つ文字。代表例には . ^ $ * + ? { } [ ] ( ) | などがあり、意味を持たせずに文字として使う場合は前にバックスラッシュを付けてエスケープします。
- 文字クラス
- [...] の中に並べた文字のどれか1文字にマッチします。複数の文字を自由に組み合わせられる基本要素です。
- 文字集合
- 文字クラスのことで、[0-9] や [abc] のように、1文字を表す集合を作ります。
- 否定文字クラス
- [^ ... ] の中の文字以外の1文字にマッチします。除外条件を設けるときに使います。
- 量指定子
- 直前の要素の出現回数を指定します。代表例は *, +, ?, {n}, {n,}, {n,m} です。
- アンカー
- マッチの位置を指定する特殊な要素。^ は行頭、$ は行末を意味します。
- グループ化
- 丸括弧 ( ... ) で要素をひとまとめにして、繰り返しや参照の対象にします。
- キャプチャ
- グループ化した部分を結果として取り出す仕組み。通常は番号付きの参照 \1 で再利用します。
- 非捕捉グループ
- (?: ... ) の形式で、グループ化はするがキャプチャを行いません。構造の整理に使います。
- バックリファレンス
- 後で参照するために、直前にキャプチャした内容を再利用します。例: \1 や \k{name}。
- 名前付きキャプチャ
- (?
...) の形式でグループに名前を付け、後で \k などで参照します。 - 先読み
- (?= ... ) のように、実際のマッチを消費せずに前方を条件確認します。
- 後読み
- (?! ... ) のように、直前の位置の後方を条件確認します(Lookaround の一部)。
- 貪欲マッチ
- デフォルトで可能な限り長くマッチさせようとする性質。
- 非貪欲マッチ
- 最小限の長さでマッチさせるようにする修飾子。通常は ? を量指定子の後ろにつけます。
- エスケープ
- 正規表現内で特別な意味を持つ文字を文字として扱うために前にバックスラッシュを置きます。
- ドット
- . はデフォルトで改行を除く任意の1文字にマッチします。
- ショートカットクラス
- \d は数字、\s は空白、\w は英数字・アンダースコアなどを表します。反対の \D, \S, \W もあります。
- Unicode プロパティエスケープ
- \p{...} で、特定の属性を持つ文字にマッチします。例: \p{Ll} は小文字の文字。
- Unicode エスケープ
- \uXXXX の形で、特定のユニコードコードポイントを指定します。
- 改行文字とエスケープ
- \n や \t など、制御文字を文字として表現します。
- DOTALL フラグ
- s フラグを使うと、ドットが改行文字にもマッチします。
- MULTILINE フラグ
- m フラグを使うと、^ と $ が行頭・行末にマッチします。
- グローバルマッチ
- g フラグ(または同等のオプション)で、文字列全体にわたってすべての一致を取得します。
- 正規表現エンジン
- 正規表現を実行する実装。代表例には PCRE、Oniguruma、Java の java.util.regex、Python の re、 .NET などがあります。
- 言語差
- 言語やエンジンによって同じパターンでも挙動が異なることがあるため、実装ドキュメントを確認します。
- 置換
- マッチした部分を別の文字列に置換する操作。多くの言語で replace 系関数・メソッドを提供します。
- 置換参照
- 置換文字列の中で、マッチしたグループを参照して再利用します。例: $1、\1、$name などの形式があります。
- テストツール
- オンラインの regex テスターを使って、パターンと入力をすぐに検証できます。
- 実務用途
- バリデーション、抽出、置換など、日常の文字列処理で広く使われます。