Claude Code Plugins

Community-maintained marketplace

Feedback

Generate, explain, and test regular expressions with examples and test cases. Use when creating regex patterns or understanding complex regular expressions.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name regex-helper
description Generate, explain, and test regular expressions with examples and test cases. Use when creating regex patterns or understanding complex regular expressions.

Regex Helper Skill

正規表現パターンを生成・説明・テストするスキルです。

概要

複雑な正規表現を簡単に作成し、既存のパターンを理解しやすく説明します。

主な機能

  • パターン生成: 要件から正規表現を自動生成
  • パターン説明: 既存の正規表現を人間が読める形で説明
  • テストケース: マッチする例、しない例を提供
  • 最適化: より効率的なパターンへの変換
  • デバッグ: 動作しないパターンの修正
  • 言語対応: JavaScript、Python、Java、Go等

使用方法

パターン生成

以下の要件で正規表現を生成:
- メールアドレスの検証
- RFC 5322準拠
- サブドメイン対応

パターン説明

以下の正規表現を説明:
^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

生成例

メールアドレス

要件: 基本的なメールアドレス検証

生成パターン:

/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/

説明:

  • ^ - 文字列の開始
  • [a-zA-Z0-9._%+-]+ - ユーザー名部分(英数字と一部記号)
  • @ - アットマーク(必須)
  • [a-zA-Z0-9.-]+ - ドメイン名
  • \. - ドット(エスケープ)
  • [a-zA-Z]{2,} - トップレベルドメイン(2文字以上)
  • $ - 文字列の終了

テストケース:

✅ マッチする:
- user@example.com
- john.doe@company.co.jp
- test+tag@domain.com

❌ マッチしない:
- invalid.email
- @example.com
- user@
- user@domain

パスワード強度

要件:

  • 8文字以上
  • 大文字1文字以上
  • 小文字1文字以上
  • 数字1文字以上
  • 特殊文字1文字以上

生成パターン:

/^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/

説明:

  • (?=.*[A-Z]) - 先読み: 大文字が1つ以上存在
  • (?=.*[a-z]) - 先読み: 小文字が1つ以上存在
  • (?=.*\d) - 先読み: 数字が1つ以上存在
  • (?=.*[@$!%*?&]) - 先読み: 特殊文字が1つ以上存在
  • [A-Za-z\d@$!%*?&]{8,} - 許可文字で8文字以上

テストケース:

✅ マッチする:
- Password123!
- Secure@Pass1
- MyP@ssw0rd

❌ マッチしない:
- password (大文字・数字・記号なし)
- PASSWORD123 (小文字・記号なし)
- Pass123 (7文字・記号なし)

URL抽出

要件: テキストからURL を抽出

生成パターン:

r'https?://(?:www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)'

日本の電話番号

要件: 03-1234-5678 形式

生成パターン:

/^0\d{1,4}-\d{1,4}-\d{4}$/

クレジットカード番号

要件: 16桁、スペース/ハイフン区切り対応

生成パターン:

/^(?:\d{4}[-\s]?){3}\d{4}$/

テストケース:

✅ マッチする:
- 1234 5678 9012 3456
- 1234-5678-9012-3456
- 1234567890123456

❌ マッチしない:
- 1234 5678 901 (短い)
- abcd-efgh-ijkl-mnop (英字)

パターン説明機能

入力:

^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$

出力:

このパターンは **時刻(HH:MM:SS形式、24時間制)** にマッチします。

構造:
1. `^` - 文字列の開始
2. `(?:[01]\d|2[0-3])` - 時(00-23)
   - `[01]\d` - 00-19
   - `|` - または
   - `2[0-3]` - 20-23
3. `:` - コロン(区切り)
4. `[0-5]\d` - 分(00-59)
5. `:` - コロン(区切り)
6. `[0-5]\d` - 秒(00-59)
7. `$` - 文字列の終了

マッチ例:
✅ 00:00:00
✅ 12:34:56
✅ 23:59:59

マッチしない例:
❌ 24:00:00 (24は無効)
❌ 12:60:00 (60分は無効)
❌ 1:2:3 (0埋めなし)

最適化機能

非効率なパターン:

/^[0-9][0-9][0-9][0-9]$/

最適化後:

/^\d{4}$/

改善点:

  • [0-9]\d に置換(短く読みやすい)
  • 繰り返しを {4} で表現

言語別パターン

JavaScript (ECMAScript)

const emailRegex = /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/i;
const isValid = emailRegex.test(email);

Python

import re
email_pattern = r'^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$'
is_valid = re.match(email_pattern, email, re.IGNORECASE)

Java

String emailPattern = "^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,}$";
Pattern pattern = Pattern.compile(emailPattern, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(email);
boolean isValid = matcher.matches();

バージョン情報

  • スキルバージョン: 1.0.0
  • 最終更新: 2025-01-22

使用例:

以下の要件で正規表現を生成:
- 日本の郵便番号(123-4567形式)
- ハイフンあり・なし両対応
- テストケース含む

パターン、説明、テストケースが生成されます!