目次
正規表現マッチング
1. preg_match()
2. ereg() と eregi()
3. preg_grep()
グローバル正規表現マッチングを実行する
1. preg_match_all()
正規表現の置換
1. ereg_replace() と eregi_replace()
正規表現の分割
1. Split() と Spliti()
2. preg_split()

PHPの正規表現関数

Mar 26, 2018 pm 02:05 PM
php 通常 表現

PHP には 2 セットの正規表現関数ライブラリがあります。 1 つのセットは、従来の NFA に基づいた PCRE (Perl 互換正規表現) ライブラリによって提供されます。 PCRE ライブラリは、Perl と同じ構文ルールを使用し、接頭辞「preg_」が付いた名前の関数を使用して正規表現パターン マッチングを実装します。もう 1 つのセットは、POSIX NFA に基づいた POSIX (ポータブル オペレーション システム インターフェイス) 拡張ライブラリによって提供されます。 POSIX 拡張正規表現は POSIX 1003.2 で定義されており、通常は「ereg_」接頭辞が付いた名前の関数を使用します。

2 つの関数ライブラリの機能は似ていますが、実行効率が若干異なります。一般に、同じ機能を実現するには、PCRE ライブラリを使用した方が効率がわずかに優れています。その使用法については以下で詳しく説明します。

正規表現マッチング

1. preg_match()

関数プロトタイプ: int preg_match (string pattern, stringpattern, stringcontent [, array $matches])

preg_match () 関数は、pattern で指定された正規表現のコンテンツ文字列を検索します。一致が提供された場合は、一致した結果がそこに配置されます。一致する場合は、一致した結果をそれに入れます。 matches[0] にはパターン全体に一致するテキストが含まれ、$matches[1] には括弧で囲まれたパターン要素の最初にキャプチャされた一致が含まれます。この関数は 1 つの一致のみを実行し、最終的には 0 または 1 の一致結果の数を返します。

2. ereg() と eregi()

ereg() は、POSIX 拡張ライブラリの正規表現マッチング関数です。 eregi() は、ereg() 関数の大文字と小文字を無視するバージョンです。どちらも preg_match と同様の関数を持っていますが、この関数は一致が成功したかどうかを示すブール値を返します。 POSIX 拡張ライブラリ関数の最初のパラメータは正規表現文字列を受け入れる、つまり区切り文字は必要ないことに注意してください。

3. preg_grep()

関数プロトタイプ: array preg_grep (string pattern,arraypattern,arrayinput)

preg_grep() 関数は、入力配列と、指定されたパターン パターン ユニットに一致する指定された入力配列を含む配列を返します。 Preg_grep() は、入力配列 $input 内の各要素の照合のみを実行します。リスト 6.3 の例は、preg_grep() 関数の使用法を簡単に示しています。

グローバル正規表現マッチングを実行する

1. preg_match_all()

preg_match()関数に似ています。 3 番目のパラメーターを使用すると、一致する可能性のあるすべてのものが検索されます。この関数は、パターン全体が一致した回数 (おそらく 0) を返し、エラーが発生した場合は False を返します。

2.複数行のマッチング

POSIXでは通常のテーブル関数だけで複雑なマッチング演算を行うのは困難です。たとえば、ファイル全体 (特に複数行のテキスト) に対して一致検索を実行します。 ereg() を使用してこれを行う 1 つの方法は、別々の行で行うことです。

正規表現の置換

1. ereg_replace() と eregi_replace()

関数プロトタイプ: string ereg_replace (string pattern, stringpattern, stringreplacement, string $string)

String eregi_replace (string pattern, stringpattern, stringreplacement, string $string)

) in string パターンを検索検索パターン文字列 string 内の文字列パターンを検索し、一致した結果を置換に置き換えます。交換時。パターンにパターン ユニット (またはサブパターン) が含まれている場合、「1」のような形の置換中の位置、または「1」または「1」のような形の「置換中」の位置は、これらのサブパターンに一致するコンテンツに置き換えられます。パターンを順番に。

正規表現の分割

1. Split() と Spliti()

関数プロトタイプ: array split (string pattern, stringpattern, stringstring [, int $limit])

この関数は文字列配列を返します。各単位は正規表現による文字列です。正規表現による文字列です。表現パターン境界で分割された部分文字列として使用されます。制限が設定されている場合、返される配列には最大でも制限値が含まれ、返される配列には最大でも制限単位が含まれます。最後のユニットには、$string の残りの部分がすべて含まれます。 spliti は、split のサイズを無視したバージョンです。

2. preg_split()

この関数はsplit関数と同じ機能です。 '

関連する推奨事項:

PHP でよく使用される正規表現関数の詳細な説明

Linux システムのユーザー管理と grep 正規表現の詳細な説明

PHP 正規表現の共有

以上がPHPの正規表現関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles