ホームページ バックエンド開発 PHPチュートリアル PHP の正規表現ではどのような要素が一般的に使用されますか?

PHP の正規表現ではどのような要素が一般的に使用されますか?

Jun 23, 2016 pm 01:29 PM

プログラム開発では正規表現をよく使いますが、初心者にとっては正規表現が何であるかは知っていますが、実際に正規表現を使用する必要がある場合、どのような修飾子を使用すればよいのかもわかりません。混乱する。以下に、エディターは一般的に使用されるいくつかの関数と関連要素を PHP 正規表現でまとめました。

1. PHP の通常関数

PHP プログラミングでは、一般的に使用される 2 つの主要な通常関数があります: a.preg_match と b.ereg 正規関数です。

a.preg_match は Perl 言語で書かれています。

構文: preg_match(mode, string subject, arraymatches)

説明: モードパラメータ----通常のモジュール、つまり正規表現(文法)

サブジェクトパラメータ----通常のコンテンツ

パラメータに一致- --- 通常の結果 (配列の形式を取得)

b.ereg POSIX (Unix、Script) に基づく通常の関数

構文: ereg(mode, string subject, array regs)

2 . 正規表現内の要素

a. アトム (通常の文字: a-z A-Z 0-9、アトム テーブル、エスケープ文字)

b. メタ文字 (#、* など)

c. パターン修飾子(システムの組み込み文字の一部、i、m、S、U...)

3. 正規表現の「アトム」

a.a-z A-Z _ 0-9 //最も一般的な文字

b.(abc)(skd) //括弧で囲まれた単位記号(全体)

c.[abcs][^abd] //アトミックテーブル内の角括弧で囲まれたアトムテーブル ^ は除外または反対の内容を表します

d. エスケープ文字

d にはすべての数字 [0-9] が含まれます

D にはすべての数字 [^0-9] が含まれます

w にはすべての英語文字が含まれます [a-z A-Z 0 -9]

W すべての英語文字は含まれません [ ^a-z A-Z 0-9]

のキャリッジ リターン、ライン フィードなど

...

注: 角括弧がサブセットである限り、括弧は一致する必要があります。 (コンテンツが存在します)

4. 正規表現のメタ文字

* 前のコンテンツの 0 回 1 回以上一致します

。ただし、改行と行は含まれません。フィード (それ自体、任意のコンテンツを参照)

+ は前のコンテンツと 1 回以上一致します

? 前のコンテンツと 0 回または 1 回一致します

| 選択一致は PHP の | に似ています (この演算子は弱い型であり、単語の一致と同様に、前方で最も全体的な一致が得られます)

^文字列の最初の内容と一致します

$ 文字列の末尾の内容と一致します

b 単語の境界と一致します。境界にはスペースまたは特殊文字 (スペースと同様の単語区切り文字を使用できます)

B を除く予期しない内容と一致します単語の境界 (単語の区切り文字なし)

{m} 一致 前のコンテンツの繰り返し回数が M 回

{m,} 前のコンテンツの繰り返し回数が M 回以上と一致

{m ,n} 前のコンテンツの繰り返し回数を M 回から N 回に一致させます

( ) Merge 全体を一致させてメモリに入れます \1 \2... を使用して順番に取得できます。

5. 操作順序

左→右の順に操作ルールに従います

優先順位:

( ) 括弧内はメモリ内で処理されるため最上位です

*? + { } 2番目に一致する内容を繰り返します

^ $ b 3番目の境界処理

4番目の条件処理

最後に、演算の順序に従って一致を計算します

6. パターン修飾子

パターン修飾子は PHP です正規表現 正規表現の外で使用される、数式の拡張と補足の関数。例: / 正規表現 / U

よく使用される修飾子:

i 通常のコンテンツは、照合時に大文字と小文字が区別されません (デフォルトでは大文字と小文字が区別されます) )

m in 最初または最後のコンテンツを一致させる場合、複数行の認識一致が使用されます

s 一致する場合は、エスケープ改行をキャンセルします

x 正規表現内の空白を無視します

A 先頭から強制一致

D 強制 $ 一致の最後には内容がありません。 n

U は貪欲な一致を禁止し、最も近い一致文字と終了のみを追跡します 収集プログラムで一般的に使用される正規表現。 7. マッチング関数

preg_match_all すべてのマッチング関数

構文: preg_match_all ( string pattern, string subject, arraymatches [, int flags] )

説明: $matches[0] がすべてのパターンの番号になるように結果を並べ替えます一致

目的: より詳細なコンテンツを傍受し、Web ページを収集し、テキストを分析します

8. 置換関数

preg_replace 通常の置換関数

構文: preg_replace ( 混合パターン、混合置換、混合主語 [, int 制限] )

説明: 正規表現を使用して関連するコンテンツを置換します。str_replace 文字列置換の前に学んだことと似ていますが、関数はそれよりも強力です

ヒント: 1. 置換コンテンツには正規表現または配列正規表現を使用できます

2. 置換コンテンツは、修飾子 e を使用して実行コンテンツを置換することで解決できます

用法: replace より複雑なコンテンツの場合は、コンテンツ変換にも使用できます

9. Split 関数

preg_split 通常の切り取り

構文: preg_split ( string pattern, string subject [, int limit [, int flags]] )

説明: 正規表現を使用して、関連するコンテンツを切り取ります。エクスプロージョンカット機能を使ったことがあるのですが、エクスプロージョンは一方向にしかカットできないという制限があります。

上記は、PHP で正規表現を開発するための一般的な関数、要素、および関連する使用方法です。まだよくわからない場合は、これらを使用してみてください。上で紹介したように、1 つまたは 2 つの正規表現を作成して実行します。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 Apr 03, 2025 am 12:04 AM

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

ReactPhpの非ブロッキング機能は何ですか?ブロッキングI/O操作を処理する方法は? ReactPhpの非ブロッキング機能は何ですか?ブロッキングI/O操作を処理する方法は? Apr 01, 2025 pm 03:09 PM

ReactPhpの詳細な解釈の非ブロッキング機能の公式紹介は、多くの開発者の質問を呼び起こしました。

See all articles