0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JavaScriptの正規表現

Posted at

JavaScriptの正規表現(Regular Expressions、略して「regex」)

特定の文字列パターンを検索・一致させるための便利なツールです。

1. 正規表現の基本的な使い方

正規表現は、文字列に対して「検索」や「置換」を行うときに使用します。
JavaScriptでは、/pattern/flags という形式で記述します。

例:

const regex = /abc/;

この正規表現は、"abc" という文字列を探します。

2. フラグ

正規表現にはいくつかの「フラグ」を追加して、検索の方法を変更できます。
よく使われるフラグを紹介します:

  • g(global): グローバル検索。すべての一致を探します
  • i(ignore case): 大文字と小文字を区別しません
  • m(multiline): 複数行モードでの検索を可能にします
    例:
const regex = /abc/gi;

この例は、"abc" という文字列を大文字・小文字を無視して、すべての一致を探します。

3. 特殊文字

正規表現には、特定の文字を表す「特殊文字」があります。
これを使って、より複雑なパターンを作成できます。

  • .:任意の1文字に一致(改行以外)
  • \d:数字(0-9)に一致
  • \w:英数字またはアンダースコアに一致
  • \s:空白文字(スペース、タブ、改行など)に一致
    例:
const regex = /\d\d\d/;

これは、3つの連続した数字に一致します(例: "123")。

4. 繰り返し

特定のパターンを繰り返す場合、量指定子を使います。

  • *:0回以上の繰り返し
  • +:1回以上の繰り返し
  • ?:0回または1回の繰り返し
  • {n}:n回の繰り返し
  • {n,}:n回以上の繰り返し
  • {n,m}:n回からm回の間の繰り返し
    例:
const regex = /\d{3,5}/;

これは、3~5桁の数字に一致します。

5. キャラクタクラス

複数の文字の中からいずれかに一致させる場合、[]を使います。

例:

const regex = /[abc]/;

この正規表現は、"a"、"b"、または"c"のいずれかに一致します。
さらに、[^abc]のように^を使うと、「a」「b」「c」以外の文字に一致させることができます。

6. エスケープ

特殊文字自体を検索したい場合は、その前にバックスラッシュ () を使ってエスケープします。

例:

const regex = /\./;

これはピリオド自体を検索します(.は任意の1文字ではなく、ピリオドとして扱われます)。

7. マッチ、置換、検索

JavaScriptでは正規表現を使って文字列操作が可能です。
代表的なメソッドを紹介します:

  • match(): パターンに一致する部分を配列で返します
  • replace(): 一致した部分を他の文字列に置換します
  • test(): パターンが一致するかどうかを真偽値(trueまたはfalse)で返します
    例:
const text = "abc123";
const regex = /\d+/;
console.log(text.match(regex));  // ["123"]
console.log(text.replace(/\d+/, "456"));  // "abc456"
console.log(regex.test(text));  // true

8. まとめ

  • 正規表現は、パターンを使って文字列を検索するための強力なツールです。
  • 基本的な使い方や特殊文字、繰り返し、キャラクタクラスを理解することで、複雑なパターンも扱えるようになります。
  • JavaScriptには、matchreplacetest などのメソッドがあり、実際の文字列操作に使えます。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?