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をインストールする方法
エラーを報告するApache\Nginx サービスは正常に起動しましたが、MySQL は起動に失敗し...
JS で CSS 変数を使用する方法:export キーワードを使用して、js オブジェクトを le...
序文アプリケーションを Docker コンテナとしてサーバーにデプロイする場合、通常はネットワークと...
目次質問: ボタンをクリックすると、スパンの色が赤に変わりますか?上記の問題を分析します。 2番目の...
パフォーマンスは本当に重要ですか?パフォーマンスは重要であり、誰もがそれを知っています。なぜ私たちは...
この記事の冒頭で、以前書いた入門記事の間違いを訂正したいと思います。初心者を再び誤解させないように、...
1. this.$router.push() 1. ビュー <テンプレート> <d...
新年の初めに、友人の健康と2013年が素晴らしい年となることを心からお祈りいたします。この記事では、...
ページが応答しない場合、白い画面が表示されないように、読み込みアニメーションを表示するのがユーザーフ...
1|0MySQL(MariaDB) 1|11. 説明MariaDB データベース管理システムは My...
目次確認する:例の検証と組み合わせるselect クエリ ステートメントはロックされませんが、sel...
目次予防必要条件AWSアカウントを申請する仮想マシンの申請と有効化仮想マシンを申請するセキュリティグ...
今朝、私は Wampserver を使用してローカルの win7 マシン上に PHP 環境を構築し、...
Dockerfileを初期化するプロジェクトの名前が express であると仮定して、expres...
システム: VMTOOLs ダウンロード:リンク: https://pan.baidu.com/s/...