0Pricing
DevOps Bootcamp · レッスン

キャプチャグループ、後方参照、置換

括弧を使ってマッチした部分をキャプチャし、後方参照で再利用することで、高度なマッチングとテキスト置換を行います。

「キャプチャグループ、後方参照、置換」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

キャプチャグループとは

括弧( )を使うと、マッチしたテキストを記憶して後から参照できるキャプチャグループを作成できます。

echo "2026-05-29" | grep -E "([0-9]{4})-([0-9]{2})-([0-9]{2})"

グループの番号付け

グループには、左から右へ、開き括弧の順に番号が付けられます。グループ1は最初の(、グループ2は2番目の(というように続きます。

# (year)(month)(day)
# group 1 = year, 2 = month, 3 = day

マッチングでの後方参照

\1のような後方参照は、前のグループがキャプチャしたものと同じテキストにマッチします。重複の検出に便利です。

echo "hello world world" | grep -E "(\w+) \1"

重複した単語を検出する

(\w+) \1というパターンは、同じ単語が続けて現れる箇所を検出します。よくあるタイプミスです。

echo "the the cat sat" | grep -oE "(\w+) \1"

sedでキャプチャグループを使う

sedの置換では、キャプチャしたグループを\1や\2として置換側で再利用します。拡張正規表現を使うには-Eを指定します。

echo "2026-05-29" | sed -E "s|([0-9]{4})-([0-9]{2})-([0-9]{2})|\3/\2/\1|"

フィールドを入れ替える

2つのフィールドをキャプチャし、置換側で順序を入れ替えると、データ形式を変換できます。

echo "Doe, John" | sed -E "s/(\w+), (\w+)/\2 \1/"

非キャプチャの考え方

量指定子を適用するためだけにグループ化し、キャプチャは必要ない場合もあります。PCREでは(?:...)と記述して番号付けを避けられます。

# PCRE only (grep -P):
echo "abcabc" | grep -P "(?:abc){2}"

グループ内で選択肢を使う

選択演算子|でグループを組み合わせると、複数の選択肢のいずれかにマッチさせながら、その結果をキャプチャできます。

echo "cat dog fish" | grep -oE "(cat|dog)"

グループに量指定子を適用する

グループ全体に量指定子を適用すると、パターンを繰り返せます。(ab)+は、abの並びに1回以上マッチします。

echo "ababab" | grep -oE "(ab)+"

awkでキャプチャする

awkでは、match()とRSTART、RLENGTHを使ってマッチした部分を抽出します。

echo "id=42" | awk "{ if (match(\$0, /id=[0-9]+/)) print substr(\$0, RSTART, RLENGTH) }"

実践的な形式変換

ログやCSVの列を1回の処理で新しいレイアウトに変換する場合、キャプチャグループが特に役立ちます。

echo "John,30,NYC" | sed -E "s/([^,]+),([^,]+),([^,]+)/Name: \1 Age: \2 City: \3/"

理解度チェック

キャプチャグループについての理解度を確認します。

まとめ

キャプチャグループを習得しました。

  • 括弧でマッチしたテキストをキャプチャし、番号を付けます
  • 後方参照\1で同じテキストに再度マッチします
  • sedでは置換時にグループを再利用してフィールドの順序を入れ替えます
  • グループ内で量指定子や選択肢を使い、柔軟なパターンを作成します

よくある質問

「キャプチャグループ、後方参照、置換」レッスンは無料ですか?

はい。「キャプチャグループ、後方参照、置換」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「キャプチャグループ、後方参照、置換」で何を学びますか?

括弧を使ってマッチした部分をキャプチャし、後方参照で再利用することで、高度なマッチングとテキスト置換を行います。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「キャプチャグループ、後方参照、置換」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 正規表現(Regex)入門
  2. 正規表現を使った高度なGrep
  3. 正規表現とsed/awkの組み合わせ
  4. キャプチャグループ、後方参照、置換
← DevOps Bootcampに戻る