目次
まず、正規表現の作成
JS 正規表現を作成するには、new RegExp() と直接リテラルの 2 つの方法があります。
- RegExp オブジェクトを使用して作成
var regObj = new RegExp("(^\s+)|(\s+$)","g");
- 直接リテラルを使用して作成
var regStr = /(^\s+)|(\s+$)/g;
このうち、g は全文一致を意味し、それに関連するのは i と m であり、i は一致時に大文字と小文字を区別しないことを意味し、m は複数行一致を意味し、複数の条件が同時に使用される場合は、gmi のように記述されます。
二、()、[]、{}の違い
モディファイア | 説明 | 例 |
---|---|---|
() | 関数は、一致する文字列を抽出することです。対応する複数の一致する文字列を取得するために、式に複数の () があります。 | たとえば、(\s+) は連続したスペースの文字列を表します |
[ ] | 一致する文字の範囲を定義します。 | たとえば、[a-zA-Z0-9] は、文字テキストが英字と数字に一致する必要があることを意味します。 |
{} | 通常、試合の長さを示すために使用されます。 | たとえば、\d{3} は 3 つのスペースに一致することを意味し、\d[1,3] は 1 ~ 3 つのスペースに一致することを意味します。 |
3、^、および $
モディファイア | 説明 | 例 |
---|---|---|
^ | 文字列の先頭に一致 | たとえば、(^a) は文字 a で始まる文字列に一致します。 |
$ | 文字列の末尾に一致 | たとえば、(b$) は文字 b で終わる文字列に一致します |
^には、[^xyz] などの別の否定機能があります。これは、一致した文字列に xyz が含まれていないことを意味します。
^
に現れる場合は[]
一般に否定を意味し、それ以外の場所に現れる場合は一致する文字列の先頭を意味することに注意してください。
4. \d \s \w .
モディファイア | 説明 |
---|---|
\d | [0-9] に相当する、負でない整数に一致します。 |
\s | 空白文字に一致 |
\w | [0-9a-zA-Z] に相当する英字または数字に一致 |
. | [^\n] と同等の、改行以外の任意の文字に一致します。 |
5、* + ?
モディファイア | 説明 | 例 |
---|---|---|
* |
前の要素に 0 回以上一致することを示します | たとえば、(\s*) は 0 個以上のスペースに一致します |
+ |
前の要素に 1 回以上一致することを示します | たとえば、(\d+) は、少なくとも 1 つの整数からなる文字列に一致します。 |
? |
前の要素と 0 回または 1 回一致することを示します | {0,1} に相当します。たとえば、(\w?) は、最大で 1 つの文字または数字で構成される文字列に一致します。 |
シックス、テスト、マッチ
前のもののほとんどは JS 正規表現の文法であり、文字列が特定の正規表現に一致するかどうかをテストするために使用され、一致する場合は true を返し、一致しない場合は false を返します。
/\d+/.test("123") ; //true
/\d+/.test("abc") ; //false
match は、通常のマッチング結果を取得し、それらを配列の形式で返すことです
"186a619b28".match(/\d+/g); // ["186","619","28"]
7. 正規表現をサポートする String オブジェクトのメソッド
方法 | 説明 |
---|---|
検索 | 正規表現に一致する値を取得します。 |
マッチ | 1 つ以上の正規表現に一致するものを見つけます。 |
交換 | 正規表現に一致する部分文字列を置き換えます。 |
スプリット | 文字列を文字列の配列に分割します。 |
詳細については、公式
以上が正規表現の一般的な文法についてですが、よろしければまとめてどうぞ〜