検索
ホームページバックエンド開発PHPチュートリアルPHP_PHP チュートリアルの正規表現と PCRE 関数

PHP の正規表現と PCRE 関数

PCRE

PHP には、正規表現を使用する 2 つの異なる方法があります。PCRE (Perl 互換表記、preg_*) 関数と POSIX (POSIX 拡張表記、ereg_*) 関数です。幸いなことに、POSIX ファミリの関数は PHP 5.3.0 から非推奨になりました。


正規表現

区切り文字

一般的に使用される区切り文字は、スラッシュ (/)、ハッシュ記号 (#)、および否定記号 (~) です。次の例はすべて、正当な区切り文字を使用したパターンです

リーリー

終了区切り文字の後にパターン修飾子を追加できます

メタキャラクター

一部の文字には特別な意味が与えられ、単にそれ自体を表すだけではなくなります。パターン内で特別な意味を持つこのタイプのコード化された文字は 元字符 と呼ばれます。

メタキャラクター 説明
通常、文字をエスケープするために使用されます
^ ターゲットの開始位置(または複数行モードの場合は行の先頭)をアサートします
$ ターゲットの終了位置(または複数行モードの行末)をアサートします
. 改行を除く任意の文字と一致します (デフォルト)
[ 文字クラス定義の開始
] 文字クラス定義の終了
| オプションのブランチを開始する
( サブグループの開始タグ
) サブグループの終了タグ
? 数量詞として、0 または 1 の一致を意味します。量指定子の後に配置して、量指定子の貪欲な性質を変更します。 (数量詞を調べてください)
* 数量子、0 個以上の一致
+ 数量指定子、1 つ以上の一致
{ カスタマイズされた量指定子の開始タグ
} カスタマイズされた量指定子終了タグ


パターンの角括弧で囲まれた部分は「文字クラス」と呼ばれます。 文字クラス内で使用できる唯一のメタキャラクターは次のとおりです

メタキャラクター 説明
エスケープ文字
^ 最初の文字 (角括弧内) として使用される場合のみ、文字クラスの否定を示します
- 文字範囲をマークする

キャラクタークラス

角括弧内の内容は文字クラスです

いくつかの事前定義された文字クラスがあります

キャラクタークラス 説明
d 任意の 10 進数
D 10 進数以外の任意の数値
水平方向の空白文字 (PHP 5.2.4 以降)
水平以外の空白文字 (PHP 5.2.4 以降)
任意の空白文字
S 空白以外の文字
任意の垂直空白文字 (PHP 5.2.4 以降)
V 垂直以外の空白文字 (PHP 5.2.4 以降)
w 任意の単語文字
単語以外の文字

アトム

目に見える原子

としてabc

目に見えない原子

として

数量詞

と同等です と同等です
数量化子
* は {0,}
+ は {1,}
? {0,1}に相当

断言

简单的断言代码有、B、 A、 Z、z、 ^、$

前瞻断言

从当前位置向前测试

(?=) (?!)

w+(?=;)匹配一个单词紧跟着一个分号但是匹配结果不会包含分号

后瞻断言

从当前位置向后测试

(? <code>(?<!--)</code-->

<code>(?<!--foo)bar</code-->用于查找任何前面不是 ”foo” 的 ”bar”

<code>模式修饰符

<code>模式修饰符  
<code>U <code>这个修饰符逆转了量词的”贪婪”模式,使量词默认为非贪婪的
<code>i <code>大小写不敏感匹配
<code>x <code>忽略空白
<code>s <code>点号元字符匹配所有字符,包含换行符。如果没有这个修饰符,点号不匹配换行符
<code>…  

<code>PCRE 函数

<code><code><code>preg_filter &mdash; 执行一个正则表达式搜索和替换

preg_grep &mdash; 返回匹配模式的数组条目

preg_last_error &mdash; 返回最后一个PCRE正则执行产生的错误代码

preg_match_all &mdash; 执行一个全局正则表达式匹配

preg_match &mdash; 执行一个正则表达式匹配

preg_quote &mdash; 转义正则表达式字符

preg_replace_callback_array &mdash; Perform a regular expression search and replace using callbacks

preg_replace_callback &mdash; 执行一个正则表达式搜索并且使用一个回调进行替换

preg_replace &mdash; 执行一个正则表达式的搜索和替换

preg_split &mdash; 通过一个正则表达式分隔字符串
</code></code></code>

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1050841.htmlTechArticlePHP中的正则表达式及PCRE函数 PCRE PHP有两种使用不同的方式来使用正则表达式:PCRE(Perl兼容表示法,preg_*)函数 和 POSIX(POSIX 扩展表示法,...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
如何用 Golang 正则匹配多个单词或字符串?如何用 Golang 正则匹配多个单词或字符串?May 31, 2024 am 10:32 AM

Golang正则表达式使用管道符|来匹配多个单词或字符串,将各个选项作为逻辑OR表达式分隔开来。例如:匹配"fox"或"dog":fox|dog匹配"quick"、"brown"或"lazy":(quick|brown|lazy)匹配"Go"、"Python"或"Java":Go|Python|Java匹配单词或4位邮政编码:([a-zA

如何用php正则替换以什么开头的字符串如何用php正则替换以什么开头的字符串Mar 24, 2023 pm 02:57 PM

PHP正则表达式是一种针对文本处理和转换的有力工具。它可以通过解析文本内容,并按照特定的模式进行替换或截取,达到有效管理文本信息的目的。其中,正则表达式的一个常见应用是替换以特定字符开头的字符串,对此,我们进行如下的讲解

详解JavaScript函数如何实现可变参数?(总结分享)详解JavaScript函数如何实现可变参数?(总结分享)Aug 04, 2022 pm 02:35 PM

js是弱类型语言,不能像C#那样使用param关键字来声明形参是一个可变参数。那么js中,如何实现这种可变参数呢?下面本篇文章就来聊聊JavaScript函数可变参数的实现方法,希望对大家有所帮助!

php 如何用正则去除中文php 如何用正则去除中文Mar 03, 2023 am 10:12 AM

php用正则去除中文的方法:1、创建一个php示例文件;2、定义一个含有中文和英文的字符串;3、通过“preg_replace('/([\x80-\xff]*)/i','',$a);”正则方法去除查询结果中的中文字符即可。

php怎么利用正则匹配去掉html标签php怎么利用正则匹配去掉html标签Mar 21, 2023 pm 05:17 PM

在本文中,我们将学习如何使用PHP正则表达式删除HTML标签,并从HTML字符串中提取纯文本内容。 为了演示如何去掉HTML标记,让我们首先定义一个包含HTML标签的字符串。

Python面向对象里常见的内置成员介绍Python面向对象里常见的内置成员介绍Apr 12, 2023 am 09:10 AM

好嘞,今天我们继续剖析下Python里的类。[[441842]]先前我们定义类的时候,使用到了构造函数,在Python里的构造函数书写比较特殊,他是一个特殊的函数__init__,其实在类里,除了构造函数还有很多其他格式为__XXX__的函数,另外也有一些__xx__的属性。下面我们一一说下:构造函数Python里所有类的构造函数都是__init__,其中根据我们的需求,构造函数又分为有参构造函数和无惨构造函数。如果当前没有定义构造函数,那么系统会自动生成一个无参空的构造函数。例如:在有继承关系

go语言的形参占用内存吗go语言的形参占用内存吗Dec 28, 2022 pm 05:19 PM

形参变量在未出现函数调用时并不占用内存,只在调用时才占用,调用结束后将释放内存。形参全称“形式参数”,是函数定义时使用的参数;但函数定义时参数是没有任实际何数据的,因而在函数被调用前没有为形参分配内存,其作用是说明自变量的类型和形态以及在过程中的作用。

如何解决Python的表达式语法错误?如何解决Python的表达式语法错误?Jun 24, 2023 pm 05:04 PM

Python作为一种高级编程语言,易于学习和使用。一旦需要编写Python程序时,无法避免地遇到语法错误,表达式语法错误是常见的一种。在本文中,我们将讨论如何解决Python的表达式语法错误。表达式语法错误是Python中最常见的错误之一,它通常是由于错误的使用语法或缺少必要组件而导致的。在Python中,表达式通常由数字、字符串、变量和运算符组成。最常见的

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。