Maison développement back-end tutoriel php 辨析PHP中Ereg正则表达式_PHP教程

辨析PHP中Ereg正则表达式_PHP教程

Jul 15, 2016 pm 01:26 PM
perl php 兼容 nous 正则 表达式

我们知道在PHP中Perl兼容正则表达式,那么对于Ereg正则表达式我们需要掌握什么呢?这里我们通过Perl兼容正则表达式和Perl/Ereg的区别分析来向你介绍Ereg正则表达式,希望对你有所帮助。

虽然叫做“Perl兼容正则表达式”,但是和Perl的正则表达式相比,PHP的还是由一些不同,比如修饰符“G”在Perl里面代表全部匹配,但是在PHP中没有加入对这个修饰符的支持。

关于PHP中Ereg正则表达式的辨析:

还有就是和ereg系列函数的区别,ereg也是PHP中提供的正则表达式函数,不过和preg相比,要弱上很多。

1、ereg里面是不需要也不能使用分隔符和修饰符的,所以ereg的功能比preg要弱上不少。

2、关于".":点在正则里面一般是除了换行符以外的全部字符,但是在ereg里面的"."是任意字符,即包括换行符!如果在preg里面希望"."能够包括换行符,可以在修饰符中加上"s"。

3、ereg默认使用贪婪模式,并且不能修改,这个给很多替换和匹配带来麻烦。

4、速度:这个或许是很多人关心的问题,会不会preg功能强大是以速度来换取的?不用担心,preg的速度要远远比ereg快,笔者做了一个程序测试:

PHP中Ereg正则表达式time test实例:

<ol class="dp-c"><li class="alt"><span><span><?php  </SPAN></span><li>
<span class="func">echo</span><span> </span><span class="string">"Preg_replace used time:"</span><span>;   </span>
</li>
<li class="alt">
<span class="vars">$start</span><span> = time();   </span>
</li>
<li>
<span class="keyword">for</span><span>(</span><span class="vars">$i</span><span>=1;</span><span class="vars">$i</span><span><span class="vars">$i</span><span>++) {   </span><li class="alt">
<span class="vars">$str</span><span> = </span><span class="string">"ssssssssssssssssssssssssssss"</span><span>;   </span>
</li>
<li>
<span>preg_replace(</span><span class="string">"/s/"</span><span>,</span><span class="string">""</span><span>,</span><span class="vars">$str</span><span>);   </span>
</li>
<li class="alt"><span>}   </span></li>
<li>
<span class="vars">$ended</span><span> = time()-</span><span class="vars">$start</span><span>;   </span>
</li>
<li class="alt">
<span class="func">echo</span><span> </span><span class="vars">$ended</span><span>;   </span>
</li>
<li>
<span class="func">echo</span><span> "   </span>
</li>
<li class="alt">
<span class="func">ereg_replace</span><span> used time:";   </span>
</li>
<li>
<span class="vars">$start</span><span> = time();   </span>
</li>
<li class="alt">
<span class="keyword">for</span><span>(</span><span class="vars">$i</span><span>=1;</span><span class="vars">$i</span><span><span class="vars">$i</span><span>++) {   </span><li>
<span class="vars">$str</span><span> = </span><span class="string">"ssssssssssssssssssssssssssss"</span><span>;   </span>
</li>
<li class="alt">
<span class="func">ereg_replace</span><span>(</span><span class="string">"s"</span><span>,</span><span class="string">""</span><span>,</span><span class="vars">$str</span><span>);   </span>
</li>
<li><span>}   </span></li>
<li class="alt">
<span class="vars">$ended</span><span> = time()-</span><span class="vars">$start</span><span>;   </span>
</li>
<li>
<span class="func">echo</span><span> </span><span class="vars">$ended</span><span>;   </span>
</li>
<li class="alt">
<span class="func">echo</span><span> "   </span>
</li>
<li>
<span class="func">str_replace</span><span> used time:";   </span>
</li>
<li class="alt">
<span class="vars">$start</span><span> = time();   </span>
</li>
<li>
<span class="keyword">for</span><span>(</span><span class="vars">$i</span><span>=1;</span><span class="vars">$i</span><span><span class="vars">$i</span><span>++) {   </span><li class="alt">
<span class="vars">$str</span><span> = </span><span class="string">"sssssssssssssssssssssssssssss"</span><span>;   </span>
</li>
<li>
<span class="func">str_replace</span><span>(</span><span class="string">"s"</span><span>,</span><span class="string">""</span><span>,</span><span class="vars">$str</span><span>);   </span>
</li>
<li class="alt"><span>}   </span></li>
<li>
<span class="vars">$ended</span><span> = time()-</span><span class="vars">$start</span><span>;   </span>
</li>
<li class="alt">
<span class="func">echo</span><span> </span><span class="vars">$ended</span><span>;   </span>
</li>
<li><span>?>  </span></li></span>
</li></span>
</li></span>
</li></span></li></ol>
Copier après la connexion

PHP中Ereg正则表达式实例结果:

<ol class="dp-c">
<li class="alt"><span><span>Preg_replace used time:5   </span></span></li>
<li>
<span class="func">ereg_replace</span><span> used time:15   </span>
</li>
<li class="alt">
<span class="func">str_replace</span><span> used time:2  </span>
</li>
</ol>
Copier après la connexion

str_replace因为不需要匹配所以速度非常快,而preg_replace的速度比ereg_replace要快上不少。

PHP中Ereg正则表达式的相关内容就向你介绍到这里,希望对你了解和学习PHP中Ereg正则表达式有所帮助。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446583.htmlTechArticle我们知道在PHP中Perl兼容正则表达式,那么对于Ereg正则表达式我们需要掌握什么呢?这里我们通过Perl兼容正则表达式和Perl/Ereg的区别分析来...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

CakePHP travaillant avec la base de données CakePHP travaillant avec la base de données Sep 10, 2024 pm 05:25 PM

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

See all articles