regexp = new RegExp(patern[, flag])
正規表現オブジェクトを生成する。正規表現は文字列のパターンマッチング処理に使う。
| flag | 意味 |
| i | 大文字・小文字を区別しない |
| g | 2番目、3番目... にマッチする部分も検索する |
| m | 複数行に対して検索する |
〔例1〕文字列DEFを含んでいるか調べる
str = "ABCDEFG";
re = new RegExp("DEF", "i");
if (str.match(re)) {
alert("DEFを含んでいます。");
}
通常は、以下のように簡単に記述することが多い。
str = "ABCDEF";
if (str.match(/DEF/i)) {
alert("DEFを含んでいます。");
}
RegExp.$記号
| $記号 | 意味 |
|---|
| $n | n番目の括弧に対応する文字列 |
| $& |
最後にマッチした文字列 (lastMatch) |
| $` |
マッチした部分の左側の文字列 (leftContext) |
| $" |
マッチした部分の右側の文字列(rightContext) |
| $+ |
最後の (...) に対応する文字列を返す (lastParen) |
| $_ |
exec() でマッチングの対象とする文字列を代入 (input) |
| $* |
行頭(^)や行末($)が各行の行頭、行末にマッチ (multiline) |
正規表現の意味
| 正規表現 |
意味 |
| A |
Aという文字 |
| ABC |
ABCという文字列 |
| [ABC] |
A、B、Cのいずれか1文字 |
| [A-C] |
A~Cまでのいずれか1文字 |
| [^ABC] |
A、B、Cのいずれでもない任意の1文字 |
| . |
任意の1文字 |
| A+ |
1文字以上のA |
| A* |
0文字以上のA |
| A? |
0文字または1文字のA |
| ^A |
Aで始まる文字列 |
| A$ |
Aで終わる文字列 |
| ABC|DEF|GHI |
ABCまたはDEFまたはGHI |
| A{2} |
2個のA(AA) |
| A{2,} |
2個以上のA(AA、AAA、AAAA、...) |
| A{2,3} |
2個~3個のA(AA、AAA) |
| [\b] |
バックスペース |
バックスラッシュ(\または¥)に続く文字は特別な意味を持つ。
| 表現 |
意味 |
| \b |
スペースなどの単語の区切り |
| \B |
\b以外の文字 |
| \cA |
Ctrl-A |
| \d |
任意の数値([0-9]と同じ) |
| \D |
数値以外の文字([^0-9]と同じ) |
| \f |
フォームフィード文字 |
| \n |
改行文字 |
| \r |
復帰文字 |
| \s |
1文字の区切り文字([ \f\n\r\t\v]) |
| \S |
\s以外の1文字 |
| \t |
タブ文字 |
| \v |
垂直タブ文字 |
| \w |
英数文字([A-Za-z0-9_]と同じ) |
| \W |
\w以外の文字 |
| \2 |
2番目の (...) にマッチした文字列 |
| \o033 |
8進数で033の文字 |
| \x1b |
16進数で1bの文字 |
| \その他 |
その他の文字自身 |