EfficTools Logo
EfficTools
Back to Blog
正規表現

正規表現の基礎:ゼロからテキストマッチングをマスターする

E
EfficTools Team
December 8, 202410 min read

正規表現の基礎:ゼロからテキストマッチングをマスターする

正規表現とは?

正規表現(Regular Expression、略してRegex)は、文字列マッチングパターンを記述するためのツールです。以下に使用できます:

  • 入力形式の検証(メールアドレス、電話番号など)
  • テキストの検索と置換
  • 特定の情報の抽出
  • データのクリーニングと処理

基本構文

リテラル文字

最も簡単な正規表現は、それ自体と一致する通常の文字です:

``

hello は "hello" と一致

123 は "123" と一致

`

特殊文字(メタ文字)

文字意味
.任意の単一文字と一致
^文字列の開始と一致
$文字列の終了と一致
前の文字を0回以上一致
+前の文字を1回以上一致
?前の文字を0回または1回一致
\特殊文字をエスケープ

文字クラス

`

[abc] a、b、またはcと一致

[a-z] 任意の小文字と一致

[0-9] 任意の数字と一致

[^abc] a、b、c以外の任意の文字と一致

`

定義済み文字クラス

`

\d 数字と一致、[0-9]と同等

\D 数字以外と一致

\w 単語文字(文字、数字、アンダースコア)と一致

\W 単語文字以外と一致

\s 空白文字と一致

\S 空白文字以外と一致

`

量指定子

`

{n} 正確にn回一致

{n,} 少なくともn回一致

{n,m} n回からm回一致

`

グループ化とキャプチャ

括弧 () を使用してキャプチャグループを作成:

`

(abc)+ 1つ以上の "abc" と一致

(\d{4})-(\d{2})-(\d{2}) 日付形式と一致

`

一般的な正規表現の例

メールアドレス検証

`

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

`

電話番号検証(中国)

`

^1[3-9]\d{9}$

`

URLマッチング

`

https?:\/\/[\w\-]+(\.[\w\-]+)+[\w\-.,@?^=%&:/~+#]

`

中国語文字

`

[\u4e00-\u9fa5]+

`

JavaScriptで正規表現を使用する

`javascript

// 正規表現を作成

const regex = /hello/i; // iは大文字小文字を区別しないことを意味

// 一致をテスト

regex.test('Hello World'); // true

// 一致を検索

'Hello World'.match(/\w+/g); // ['Hello', 'World']

// 置換

'Hello World'.replace(/World/, 'Regex'); // 'Hello Regex'

``

EfficToolsで正規表現をテストする

正規表現を学ぶ最良の方法は実践です。正規表現テストツールを使用すると、以下ができます:

  • 正規表現をリアルタイムでテスト
  • ハイライトされた一致結果を表示
  • キャプチャグループの内容を表示
  • 複数のフラグをサポート

学習のヒント

  • シンプルに始めて、徐々に複雑さを増やす
  • より多く練習し、より多くテストする
  • オンラインツールを使用して検証する
  • 他の人の正規表現を読んで技術を学ぶ
  • まとめ

    正規表現は、学習に時間を投資する価値のあるスキルです。最初は複雑に見えるかもしれませんが、基本構文をマスターすれば、テキスト処理の強力なアシスタントになります。

    正規表現RegexチュートリアルJavaScript
    Share this article