ホームページ > 記事 > ウェブフロントエンド > JavaScript 正規表現の使用方法を教えます
トピック: JavaScript 正規表現
正規表現の定義:
Var reg_pattern = new RegRxt("ad"); // a の後に数字が続くことを意味します
Var reg_pattern = /ad/;
String オブジェクト関連正規表現メソッド
Name
Description
Example
Macth(regExp)
文字列を検索する正規表現を指定します。見つかった場合は関数が配列を返し、見つからない場合はNullを返します
test.html
Replacre(regExp,replaceText)
元の文字列内の正規表現 regExp に一致するすべての部分文字列を replaceText に置き換えて、新しい文字列を返します。
test.html
Search(regExp)
検索文字列は、macth(regExp)とは異なり、最初に一致した出現箇所の位置インデックスのみを返します。それ以外の場合は、-1が返されます
文字クラス:
文字リスト: 指定します角括弧内の 1 つ以上の文字で構成される文字リスト。文字リスト内の任意の文字
と一致する場合、たとえば、[abc] は a、b、または c のいずれかに一致するとみなされます。ただし、各一致はリスト内の 1 文字のみと一致し、複数の文字には一致しません。
逆リスト: 逆リストとは、リスト内の指定された文字を除くすべての文字と一致することを指します。逆リストは、リストの前に
"^" 記号を付けることで定義されます。たとえば、[^abc] は、a、b、c の文字を除くすべての文字と一致することを意味します。
文字範囲: [1234567] や [abcdefg] などの連続した文字リストの場合、単純な
方法で表現できます。これは文字範囲と呼ばれます。文字範囲では、開始文字と終了文字
を接続するために「-」記号を使用します。これは、開始文字と終了文字の間のすべての文字を表します。例: [a-z] は、a ~ z の間のすべての小文字を意味します。逆範囲: 文字の前に「^」記号を追加すると、文字範囲外の任意の文字と一致することを意味します。
定義付き文字クラス
文字クラス
の意味
·
改行nとキャリッジリターン文字を除く任意の単一文字と一致し、[^nr]と同等
d
数値文字と一致し、[と同等0-9]
D
は、[^0-9]
w
と同等の数字以外の文字に一致します。A~Z、a~z、0~9、およびアンダースコアを含む任意の 1 文字に一致します。アンダースコア "_"、[a-zA-Z0-9_] と同等
W
は w の補数であり、単一以外の文字と一致し、[^a-zA-Z0-9_ ]
s
と同等[ftnr] と同等の、スペース、タブ、フォームフィードなどの Unicode 空白文字と一致します
S
空白文字以外の任意の文字と一致します
b
バックスペース文字 Backspace
繰り返しの数 (数量子)
*: 前の式の一致が 0 回以上発生することを示します
例:
Var reg_pattern = /bo*/;
は、次の各文字列と一致します:
b
bo
boo
+: 前の式の一致が 1 回以上連続して出現することを示します。
例:
Var reg_pattern = /bo+/;
は次の文字列と一致します:
bo
booo
{n}: n は負ではない整数です。前の式が特定の回数 n 回一致する必要があることを示します。
例:
Var reg_pattern = /bo{3}/;
は「booo」のみに一致します。
{n,}: n は負ではない整数です。前の式の一致が少なくとも n 回発生すること、つまり、n 回
、または n 回以上出現することを示します。
例:
Var reg_pattern = /[A-Z]{3,}/g;
3 つ以上の連続する大文字と一致します。
{n,m}: n と m はどちらも負ではない整数です。ここで、n
n回以上。
式:
Var reg_pattern = /[A-Z]{3,5}/g;
は、3 ~ 5 個の連続する大文字と一致します。
たとえば、「133」で始まる携帯電話番号を検索するための正規表現:
Var reg_pattern= /133d{8}/g;
境界文字:
^: 文字列の開始位置を示します。複数行のマッチングで、行の開始位置を示します。記号自体はどの文字とも一致しません。
$: 文字列の終了位置を表します。複数行のマッチングでは、行の終了位置を表します。記号自体は
どの文字とも一致しません
b: 単語 (文字ではなく) の境界、つまり単語とスペースの間の位置を表します