1. 正規表現の作成JavaScript には正規表現を作成する方法が 2 つあります。
定数 re1 = /ABC\-001/; const re2 = 新しい正規表現('ABC\\-001'); re1; // /ABC\-001/ re2; // /ABC\-001/ 2 番目の書き方を使用する場合、文字列エスケープの問題により、文字列内の 2 つの \ は実際には 1 つの \ になることに注意してください。 2. 使用モード2.1 シンプルモードの使用単純なパターンは、見つかった直接一致で構成されます。たとえば、パターン /abc/ は、文字列内で同時にその順序で出現する文字 'abc' のみに一致します。これは、「こんにちは、ABC を知っていますか?」や「最新の飛行機の設計はスラブクラフトから進化しました。」に一致します。上記の両方の例では、部分文字列「abc」が一致します。 「Grab crab」という文字列には「abc」という部分文字列が含まれていないため、一致しません。 2.2 特殊文字の使用たとえば、パターン /abc/ は、1 つの「a」に続いて 0 個以上の「b」(前の項目が 0 回以上出現することを意味します)が続き、その後に「c」の任意の文字の組み合わせが続くものに一致します。文字列「s'scbbabbbbcdebc」では、このパターンは部分文字列「abbbbc」と一致します。
3. 応用3.1 文字列の分割正規表現を使用して文字列を分割すると、固定文字を使用するよりも柔軟になります。通常の分割コードは次のとおりです。 'ad c'.split(' '); // ['a', 'd', '', '', 'c'] 上記の方法では連続するスペースを認識できないため、代わりに正規表現を使用します。 'ab c'.split(/\s+/); // ['a', 'b', 'c'] スペースがいくつあっても、文字列は正常に分割できます。次に「,」を追加します。 'a,b, c d'.split(/[\s\,]+/); // ['a', 'b', 'c', 'd'] 次に以下を追加します: 'a,b;; c d'.split(/[\s\,\;]+/); // ['a', 'b', 'c', 'd'] したがって、正規表現を使用して、不規則な入力を正しい配列に変換できます。 3.2 グループ化正規表現では、一致があるかどうかを判断するだけでなく、部分文字列を抽出することもできます。() で表される部分文字列が抽出されるグループです。例えば: ^(\d{4})-(\d{4,9})$ はそれぞれ 2 つのグループを定義し、一致した文字列から市外局番と市内番号を直接抽出できます。 var re = /^(\d{4})-(\d{4,9})$/; re.exec('0530-12306'); // ['010-12345', '010', '12345'] re.exec('0530 12306'); // ヌル 一致が成功すると、exec() メソッドは配列を返します。最初の要素は正規表現に一致した文字列全体であり、後続の文字列は一致が成功した部分文字列を表します。 一致が失敗した場合、exec() メソッドは null を返します。 3.3 貪欲マッチング正規表現のマッチングはデフォルトでは貪欲であり、つまり可能な限り多くの文字と一致することに注意してください。次のように、数字の後の 0 を一致させます。 var re = /^(\d+)(0*)$/; re.exec('102300'); // ['102300', '102300', ''] \d+ は貪欲な一致を使用するため、後続のすべての 0 と直接一致し、0* は空の文字列とのみ一致します。 次の 0 と一致させるには、\d+ で非貪欲な一致 (つまり、できるだけ少ない一致) を使用するようにする必要があります。? を追加すると、\d+ で非貪欲な一致が使用されるようになります。 var re = /^(\d+?)(0*)$/; re.exec('102300'); // ['102300', '1023', '00'] 3.4 正規表現フラグg グローバル検索。 i 大文字と小文字を区別しない検索。 m 複数行検索。 y ターゲット文字列の現在の位置から一致を開始する「スティッキー」検索を実行します。 y フラグを使用できます。 3.5 test() メソッドtest() メソッドは、文字列がパターンに一致するかどうかを確認するために使用されます。文字列に一致するテキストが含まれている場合は true を返し、含まれていない場合は false を返します。 var re = /^(\d{4})-(\d{4,9})$/; re.test('0530-12321'); // 真 re.test('0530-123ab'); // 偽 re.test('0530 12321'); // 偽 4. よく使われる正規表現(参考)メールアドレスを確認してください: ^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ ID 番号を確認してください (15 桁または 18 桁): ^\d{15}|\d{}18$ 中国本土の携帯電話番号: 1\d{10} 中国本土の固定電話番号: (\d{4}-|\d{3}-)?(\d{8}|\d{7}) 中国本土郵便番号: [1-9]\d{5} IPアドレス: ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) 日付 (年-月-日): (\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9])) 日付(月/日/年):((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2}) 番号を確認してください: ^[0-9]*$ n桁の数字を検証: ^\d{n}$ 少なくとも n 桁の数字が存在することを確認します: ^\d{n,}$ mn桁の数を確認します: ^\d{m,n}$ 数字がゼロで始まっているか、ゼロ以外で始まっているかを確認します: ^(0|[1-9][0-9]*)$ 正の実数に小数点以下 1 ~ 3 桁があることを確認します: ^[0-9]+(.[0-9]{1,3})?$ ゼロ以外の正の整数を検証します: ^\+?[1-9][0-9]*$ 整数がゼロでないことを確認します: ^\-[1-9][0-9]*$ 負でない整数(正の整数 + 0)を検証する ^\d+$ 非正整数(負の整数 + 0)^((-\d+)|(0+))$ を検証します 文字の長さが 3 であることを確認します: ^.{3}$ 26文字の英語の文字列を検証します: ^[A-Za-z]+$ 26 個の大文字の英語の文字で構成される文字列を検証します: ^[AZ]+$ 26 個の小文字の英語文字で構成される文字列を検証します: ^[az]+$ 数字と26文字の英語の文字で構成される文字列を検証します: ^[A-Za-z0-9]+$ 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: Dockerを使用してOracle_11gをインストールする方法
2日前、ダブル11ショッピングフェスティバルを利用して、Alibaba CloudでECS(サーバー...
MySQL フルテキスト インデックスは、特定のテーブルの特定の列に表示されるすべての単語のリストを...
MySQL の追加、削除、変更、クエリステートメント1. 練習シートを作成するここでの練習表は3つの...
擬似配列と配列JavaScript では、5 つのプリミティブ データ型を除き、関数を含め、その他す...
MySQL 8.0.13 のインストールと設定方法を皆さんと共有したいと思います。お役に立てれば幸...
概要港とは何ですか?英語の単語の意味は「港」です。 Harborはコンテナ(貨物)を保管するために使...
CSS3お願いしますこのウェブサイトを自分で見て、パラメータを変更し、CSS3効果をオン/オフにする...
この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...
1. インストール1. ダウンロードMySQLをダウンロードするには、MySQL公式サイトhttp:...
このとき、overflow:auto;(コードがコンテナの境界を超えたときにスクロールボックスを表示...
forループを使用してZabbixイメージをコンテナにインポートします。 n を `ls *.tar...
VMware Workstation 14 ProにCentOS 7.0をインストールする具体的な方...
MySQL の replace と replace into はどちらも頻繁に使用される関数です。r...
1.まずnpmをアンインストールする sudo npm アンインストール npm -g 2. ノー...
この記事では、参考までにMySQL 8.0.15のインストールと設定のグラフィックチュートリアルを紹...