JavaScript 正規表現
正規表現は、検索パターンを形成する一連の文字です。
検索パターンは、テキスト検索およびテキスト置換操作に使用できます。
正規表現とは
正規表現は、検索パターンを形成する一連の文字です。
テキスト内のデータを検索する場合、この検索パターンを使用して検索対象を説明できます。
正規表現には、単一の文字を使用することや、より複雑なパターンを使用することもできます。
正規表現を使用すると、あらゆるタイプのテキスト検索 およびテキスト置換操作を実行できます。
構文
例
例の説明:
/techis/i正規表現です。
techis(検索で使用される) パターンです。
iは修飾子です (大文字と小文字を区別しないように検索を変更します)。
文字列メソッドの使用
JavaScriptでは、正規表現はよくsearch()
とreplace()
という2つの文字列メソッドと共によく使用されます。
search()
メソッドは式を使用して一致を検索し、一致の位置を返します。
replace()
メソッドは、パターンが置き換えられた変更された文字列を返します。
String search() を文字列で使用する
search()
メソッドは指定された値の文字列を検索し、一致した位置を返します。
例
文字列を使用して、文字列で「techis」を検索します。
nの結果は次のようになります。
6
正規表現でString search()を使用する
例
正規表現を使用して、大文字と小文字を区別せずに文字列内の「techis」を検索します。
nの結果は次のようになります。
6
String replace() を文字列で使用する
replace()
メソッドは、指定された値を文字列内の別の値に置き換えます。
正規表現で String replace() を使用する
例
大文字と小文字を区別しない正規表現を使用して、文字列内のMicrosoftをTechisに置き換えます。
resでの結果は次のようになります。
Visit Techis
気づきましたか?
上記のメソッドでは、(文字列引数の代わりに)正規表現引数を使用できます。
正規表現修飾子
修飾子を使用すると、大文字と小文字を区別しない、よりグローバルな検索を実行できます。
修飾子 |
説明 |
試してみる |
---|---|---|
i | 大文字と小文字を区別しない一致を実行する | 自分で試してみる » |
g | グローバルマッチを実行します (最初のマッチの後に停止するのではなく、すべてのマッチを検索します) | 自分で試してみる » |
m | 複数行のマッチングを実行する | 自分で試してみる » |
正規表現パターン
括弧は文字の範囲を検索するために使用されます。
表現 | 説明 | 試してみる |
---|---|---|
[abc] | 括弧内の文字を見つけます | <自分で試してみる » |
[0-9] | 角括弧の間の数字のいずれかを見つけます | 自分で試してみる » |
(x|y) | |で区切られた選択肢を見つけます | 自分で試してみる » |
メタキャラクターは特別な意味を持つ文字です。
メタキャラクター |
説明 |
試してみる |
---|---|---|
\d | 数字を見つける | 自分で試してみる » |
\s | 空白文字を見つける | 自分で試してみる » |
\b | 次のように単語の先頭で一致を検索: \bWORD、または単語の末尾 このように: WORD\b |
自分で試してみる »
自分で試してみる » |
\uxxxx | 16進数xxxxで指定されたUnicode文字を検索します | 自分で試してみる » |
数量詞は量を定義します。
数量詞 |
説明 |
試してみる |
---|---|---|
n+ | 少なくとも1つのnを含む任意の文字列に一致します | 自分で試してみる » |
n* | 0回以上のnを含む任意の文字列に一致します。 | 自分で試してみる » |
n? | nが0回または 1 回の出現を含む任意の文字列に一致します。 | 自分で試してみる » |
正規表現オブジェクトの使用
JavaScriptでは、RegExpオブジェクトは、定義済みのプロパティとメソッドを持つ正規表現オブジェクトです。
test()の使用
test()
メソッドはRegExp式のメソッドです。
文字列からパターンを検索し、結果に応じてtrueまたはfalseを返します。
次の例では、文字列で文字「e」を検索します。
例
文字列に「e」があるため、上記のコードの出力は次のようになります。
true
最初に正規表現を変数に入れる必要はありません。上記の2行は1行に短縮できます。
exec()の使用
exec()
メソッドはRegExp式のメソッドです。
指定されたパターンの文字列を検索し、見つかったテキストをオブジェクトとして返します。
一致するものが見つからない場合は、空(null)オブジェクトを返します。
次の例では、文字列で文字「e」を検索します。
完全な正規表現リファレンス
完全なリファレンスについては、完全な JavaScript 正規表現リファレンスを参照して下さい。
このリファレンスには、すべてのRegExpプロパティとメソッドの説明と例が含まれています。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。