GitHub Copilot - Patterns & Exercises
GitHub 🌟
ja 🇯🇵
ja 🇯🇵
  • ようこそ
  • プロジェクトに貢献するには
  • General
    • コード補完
    • コメントからコードを生成
    • コードからコメントの自動生成
    • GitHub CopilotとのクイックQ&A
    • 正規表現
    • プログラミング言語間の翻訳
    • タイプヒンティング
    • 構造化データからのオブジェクト生成
    • コードからドキュメントへ
  • Client Side Tips
    • Copilot スニペットハンドリング
    • GitHub Copilot ショートカット
    • 定義に移動
    • 便利なファイルのピン留め
  • Design Patterns
    • AI が理解可能な命名規則
    • 一貫性のあるコーディングスタイル
    • ハイレベルアーキテクチャを先に
    • 小さなコードチャンクで作業する
    • コンテキストレス・アーキテクチャ
    • 微細な OSS 依存関係の排除
  • Collaboration
    • AIフレンドリーなドキュメンテーション
    • プロンプトとコード生成プロセスのコーチング
  • Testing
    • ユニットテストの作成
    • テストコード生成の方法を指定する
    • 失敗ケースを最初に書く
    • 自然言語でテストケースを最初に記述する
    • 必要な部分だけをテストする
  • Refactoring
    • リファクタリング前にテストコードを書く
    • 計算ロジックを独立させる
    • オープン・クエスチョンで尋ねる
  • Archived
    • GitHub Copilot Patterns & Exercises Guide
    • Translations
      • German 🇩🇪
      • Spanish 🇪🇸
      • French 🇫🇷
      • Italy 🇮🇹
      • Japanese 🇯🇵
      • Portuguese 🇵🇹
      • Chinese 🇨🇳
Powered by GitBook
On this page
  • Description
  • Example
  • Exercise
  • Checklist for Further Learning
Edit on GitHub
  1. General

正規表現

GitHub Copilot と共に正規表現パターンのドラフトを生成

Last updated 1 year ago

現在のところ、LLMには複雑な正規表現を適切に表現する機能はありません。複雑なものについては、人間が補足的に入力しなければならないシーンが出てくるでしょう。一方で単純な正規表現には適用できます。

Description

GitHub Copilot は正規表現のパターンのドラフトを作成できます。以下では、文字列の検索や抽出に正規表現を使用する方法について説明します。2つの例を通して、GitHub Copilot が "入力/出力パターン" と "自然言語パターン" の両方で正規表現を生成する方法を示します。

Example

入力/出力パターン

最初に、入力と出力を記述することで、GitHub Copilot は正規表現のパターンを作成できます。

import re

# Write a regular expression
# - Input: "Hello World"
# - Output: ["H", "W"]

regex

結果として以下のようなコードを得ることができます。

import re
# Write a regular expression
# - Input: "Hello World"
# - Output: ["H", "W"]

regex = r"[A-Z]"
matched = re.findall(regex, "Hello World")

自然言語パターン

次に、正規表現で達成したい内容を自然言語で提供します。

import re
# Write a regular expression
# - "I have 3 apples and 2 oranges" like string, extract only the numbers to make an array

sentence

結果として以下のようなコードを得ることができます。

import re
# Write a regular expression
# - "I have 3 apples and 2 oranges" like string, extract only the numbers to make an array

sentence = "I have 3 apples and 2 oranges"
regex = r"\d+"
matched = re.findall(regex, sentence)

Exercise

  • エクササイズ: 文字列 "Hello World" から小文字のみを抽出します。

Checklist for Further Learning

  • 正規表現のパターンは、指定された文字列から正確な一致を抽出していますか?

  • 現時点で、GitHub Copilot が使う 大規模言語モデルは、複雑な正規表現を適切に表現する能力を持っていません。複雑な正規表現を表現したい場合、どうしますか? GitHub Copilot をどのように活用して、それを構築するのをサポートし、支援しますか?