正規表現のまとめ(実践編)
今回は正規表現の概要(実践的なまとめ)です。実際に正規表現を使用する際の注意事項は何ですか?実際のケースを見てみましょう。
正規表現は、通常の文字 (a から z までの文字など) と 特殊文字 (メタキャラクターと呼ばれる) で構成されるテキスト パターンです。パターンは、テキストの本文を検索するときに一致する 1 つ以上の文字列を記述します。正規表現は、文字パターンと検索文字列を照合するテンプレートとして機能します。
以下のエディターは、正規表現に関するいくつかの知識ポイントをまとめています:
1. メタ文字
[特別な意味を持つメタ文字]
d -> 数字 0 に一致します。 -9 は [0-9] と同等で、その反対は D -> 0-9 を除く任意の文字と一致します
w -> 数値 0-9、a-z、A-Z、_ または文字と一致し、[0 と同等] -9a-zA-Z_]
s -> 空白文字 (スペース、タブなど) と一致します
b -> 単語の境界と一致します
n ->改行
. -> n を除く任意の文字に一致します
$ -> 文字を転送します
x|y ->
[xyz] -> x、y、z のいずれか
[^xyz] -> xyz のいずれかに一致
[^a-z] -> 任意の文字に一致a-z を除く文字
() -> 正規表現でのグループ化
1) []
2) () について
a. グループ化の機能は、デフォルトの優先度
を変更することです。 ^18|19$/、181、189、119、819、1819... はすべて準拠します。私たちが考えているような 18 または 19 ではなく、/^(18|19)$/ に変更すると、単純に 18 または 19 になります。 b. 通常のマッチのコンテンツをキャプチャしながら、グループ マッチのコンテンツもキャプチャできます - >グループ キャプチャ
c. グループ参照、例: /^(d)(w)21$/、ここで 2は 2 番目のグループと同じ内容で、1 は最初のグループと同じ内容です。例: "0aa0" は
[数量を表す数量子メタキャラクター]
* -> 0 から複数 + - と一致します。 > 1 から複数回 {n } -> 複数回出現
{n,m} -> 0 から 1 まで
注:
1) ? に関するいくつかの状況
a. 非数量詞メタキャラクターの後に配置します。つまり、0 ~ 1 回出現します。
b. 数量詞メタキャラクターの後に配置します。これは、貪欲であることを意味します。キャプチャをキャンセルする場合、例: reg=/d+/; reg.exec("2015 ") -> "2015" ただし、 reg=/d+?/; と記述すると、 "2"
c. グループの先頭に ?: を追加します。これは、現在のグループのみが一致することを意味します。例: /^(?:d+)$/
e. グループの先頭に ?! を追加します。例: /^abcdef(?!1|2)$/ "abcdef1" と "abcdef2" が一貫していないことを除き、他は "abcdef (Anything)" であることだけが必要です。 [独自の意味を表すメタ文字] と一貫しています。 ]
上記に加えて、リテラル モードでは、表示される他の文字はそれぞれ独自の意味を表します
var num=12 ;
var reg=/^w"+num+"$/; ->Here "+ num+" は変数の値を結合していません。" であっても + であっても、それらはメタ文字です
-> 結合する必要がある人向け 文字列と変数については、インスタンス メソッドを使用して正規表現を作成することしかできません
i ->ignoreCase は文字の大文字と小文字を無視します
g -> グローバル グローバル マッチング (g を追加すると、通常のキャプチャ中に問題が解決されます)
m -> 複数行のマッチング
3
1) 有効な数字var reg=/^[+-]?(\d|([1-9]\d+))(\.\d+)?$/;
var reg = /^\w+((-\w+)|(\.\w+))*@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
var reg = /^1\d{10}$/;
var reg = /^((18|19)|([2-5]\d)|(6[0-5]))$/;
var reg = /^[\u4e00-\u9fa5]{2,4}$/;
var reg = /^(\d{6})(\d{4})(\d{2})(\d{2})(?:\d{2})(\d)(?:\d|X)$/; //-> 12828(省市县) 1990(年) 12(月) 04(日) 06 1(奇数是男偶数是女) 7(数字或者X)
4. 通常のマッチング
reg.test([string]) ->true はマッチングが成功したことを意味します false->gt;マッチングが失敗したことを意味します5. 通常のキャプチャ
1)reg.exec([string] ) -> 最初の一致、一致が成功した場合はキャプチャが返され、一致が失敗した場合は null が返されます。 -> 通常のキャプチャは怠惰で Greed です。怠惰の問題を解決するには、正規表現の最後にグローバル修飾子 g
を追加します。 -> 貪欲の問題を解決するには、量指定子の後に ?
を追加します。事例を読んだ後、この方法は習得できたと思います。この記事では、さらに興味深い情報については、PHP 中国語 Web サイトのその他の関連記事を参照してください。
正規パターン修飾子の使用の詳細な説明
以上が正規表現のまとめ(実践編)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP の実践: フィボナッチ数列をすばやく実装するためのコード例 フィボナッチ数列は、数学では非常に興味深い一般的な数列です。次のように定義されています: 最初と 2 番目の数値は 0 と 1、3 番目からは数値で始まり、それぞれの数値前の 2 つの数値の合計です。フィボナッチ数列の最初のいくつかの数値は、0、1、1.2、3、5、8、13、21 などです。 PHP では、再帰と反復を通じてフィボナッチ数列を生成できます。以下ではこの2つを紹介していきます

データ エクスポート機能は、実際の開発、特にバックエンド管理システムやデータ レポートのエクスポートなどのシナリオで非常に一般的な要件です。この記事では、Golang 言語を例として、データ エクスポート機能の実装スキルを共有し、具体的なコード例を示します。 1. 環境の準備 開始する前に、Golang 環境がインストールされており、Golang の基本的な構文と操作に精通していることを確認してください。さらに、データ エクスポート機能を実装するには、github.com/360EntSec などのサードパーティ ライブラリの使用が必要になる場合があります。

この記事では、uniapp クロスドメインに関する関連知識を提供し、uniapp およびミニ プログラムのサブコントラクトに関連する問題を紹介します。サブコントラクトを使用する各ミニ プログラムには、メイン パッケージが含まれている必要があります。いわゆるメイン パッケージには、デフォルトのスタートアップ ページ/TabBar ページと、すべてのサブパッケージが使用する必要があるいくつかのパブリック リソース/JS スクリプトが配置されます。一方、サブパッケージは開発者の構成に従って分割されます。皆さんのお役に立てば幸いです。

MySQL テーブル設計の実践: 電子商取引の注文テーブルと製品レビュー テーブルの作成 電子商取引プラットフォームのデータベースでは、注文テーブルと製品レビュー テーブルは 2 つの非常に重要なテーブルです。この記事では、MySQL を使用してこれら 2 つのテーブルを設計および作成する方法を紹介し、コード例を示します。 1. 注文テーブルの設計と作成 注文テーブルは、注文番号、ユーザー ID、製品 ID、購入数量、注文ステータスなどのフィールドを含むユーザーの購入情報を保存するために使用されます。まず、CREATET を使用して「order」という名前のテーブルを作成する必要があります。

Java 開発実践: Qiniu クラウド ストレージ サービスを統合してファイル アップロードを実装する はじめに クラウド コンピューティングとクラウド ストレージの発展に伴い、ストレージと管理のためにファイルをクラウドにアップロードする必要があるアプリケーションがますます増えています。クラウド ストレージ サービスの利点は、高い信頼性、拡張性、柔軟性です。この記事では、Java 言語開発の使用方法、Qiniu クラウド ストレージ サービスの統合方法、およびファイル アップロード機能の実装方法を紹介します。 Qiniu Cloud について Qiniu Cloud は、中国の大手クラウド ストレージ サービス プロバイダーであり、包括的なクラウド ストレージおよびコンテンツ配信サービスを提供しています。ユーザーは Qiniu Yunti を使用できます

Elasticsearch クエリ構文の詳細な研究と実践的な導入: Elasticsearch は、Lucene に基づくオープンソースの検索エンジンです。主に分散検索と分析に使用されます。大規模データの全文検索、ログ分析に広く使用されています。 、推奨システムおよびその他のシナリオ。データ クエリに Elasticsearch を使用する場合、クエリ構文を柔軟に使用することがクエリ効率を向上させる鍵となります。この記事では、Elasticsearch のクエリ構文を詳しく説明し、実際のケースに基づいて説明します。

Go 言語のマスターになる: 学習パスと実践的な経験を共有する Go 言語は、その誕生以来開発者に好まれており、そのシンプルさ、効率性、優れた同時実行パフォーマンスにより、ますます多くの開発者が Go 言語の学習と応用に参加するようになりました。この記事では、Go 言語のマスターになるための学習パスを共有すると同時に、実際の経験と組み合わせて、参考となるコード例をいくつか紹介します。学習パス 1. 基礎知識を学ぶ どの言語を学ぶ場合でも、最初に習得するのは基礎知識です。 Go言語の基礎知識は主にデータ型、

Vue 実践戦闘: 日付ピッカー コンポーネント開発 はじめに: 日付ピッカーは日常の開発でよく使用されるコンポーネントで、簡単に日付を選択でき、さまざまな設定オプションが提供されます。この記事では、Vue フレームワークを使用して単純な日付ピッカー コンポーネントを開発する方法を紹介し、具体的なコード例を示します。 1. 要求分析 開発を始める前に、コンポーネントの機能や特徴を明確にするために要求分析を行う必要があります。一般的な日付ピッカー コンポーネントの機能に従って、次の機能ポイントを実装する必要があります。 基本機能: 日付を選択でき、
