Maison développement back-end tutoriel php php正则函数2preg_match_all

php正则函数2preg_match_all

Jun 13, 2016 am 11:18 AM
array match pattern

php正则函数二preg_match_all

? ? ? ? 继续来说perl风格的正则函数preg_match_all。

? ? ? ? 函数原型:

?

<?php>preg_match_all ($pattern, $subject, array &$matches = null, $flags = null, $offset = null)<?>
Copier après la connexion

?

? ? ? ? 参数:完全和preg_match一样。

?

? ? ? ? 函数功能:类似preg_match,在$subject字符串中匹配$pattern;跟preg_match不同的是,preg_match_all在匹配的第一个结果时不会停止搜索,一直搜索到$subject的结尾。

?

? ? ? ? 返回值:根据函数功能就会看出不仅仅返回0或1,preg_match_all会搜索整个$subject直至结尾,有几个匹配结果就返回几。看个有匹配结果的例子。

?

<?php>	$url = 'http://www.sina.com.cn/abc/de/fg.php?fff.html?id=1';	$matches = array();	$pattern = '/(\.){1}[^.|?]+(\?){1}/i';	$count = preg_match_all($pattern, $url, $matches);	var_dump($count);	var_dump($matches);<?>
Copier après la connexion

?输出

int 2array (size=3)  0 =>     array (size=2)      0 => string '.php?' (length=5)      1 => string '.html?' (length=6)  1 =>     array (size=2)      0 => string '.' (length=1)      1 => string '.' (length=1)  2 =>     array (size=2)      0 => string '?' (length=1)      1 => string '?' (length=1)
Copier après la connexion

?这个例子匹配到两个结果,分别是http://www.sina.com.cn/abc/de/fg.php?fff.html?id=1字符串中红色的两部分。大家会发现$matches中的元素也是数组类型,$matches[0]存放匹配的结果,$matches[1]存放子正则1匹配的结果,$matches[2]存放正则2匹配的结果。可能说的不太直观,看下图就明白了

?



黑色箭头是$pattern正则匹配,绿箭头是子正则匹配。

再看个未匹配成功的例子

<?php>	$url = 'http://www.sina.com.cn/abc/de/fg.php?fff.html?id=1';	$matches = array();	$pattern = '/(\.){1}[^.|?]+(\?){2}/i';	$count = preg_match_all($pattern, $url, $matches);	var_dump($count);	var_dump($matches);<?>
Copier après la connexion

?输出

int 0array (size=3)  0 =>     array (size=0)      empty  1 =>     array (size=0)      empty  2 =>     array (size=0)      empty
Copier après la connexion

?

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

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

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)

Trier le tableau à l'aide de la fonction Array.Sort en C# Trier le tableau à l'aide de la fonction Array.Sort en C# Nov 18, 2023 am 10:37 AM

Trier le tableau à l'aide de la fonction Array.Sort en C#

Méthode simple et claire pour utiliser la fonction PHP array_merge_recursive() Méthode simple et claire pour utiliser la fonction PHP array_merge_recursive() Jun 27, 2023 pm 01:48 PM

Méthode simple et claire pour utiliser la fonction PHP array_merge_recursive()

Comment utiliser la fonction array_combine en PHP pour combiner deux tableaux en un tableau associatif Comment utiliser la fonction array_combine en PHP pour combiner deux tableaux en un tableau associatif Jun 26, 2023 pm 01:41 PM

Comment utiliser la fonction array_combine en PHP pour combiner deux tableaux en un tableau associatif

Utilisation de la méthode Pattern.compile en Java Utilisation de la méthode Pattern.compile en Java Feb 18, 2024 pm 09:04 PM

Utilisation de la méthode Pattern.compile en Java

Classe PatternSyntaxException dans les expressions régulières Java Classe PatternSyntaxException dans les expressions régulières Java Sep 11, 2023 pm 07:37 PM

Classe PatternSyntaxException dans les expressions régulières Java

Explication détaillée de l'utilisation de la fonction PHP array_fill() Explication détaillée de l'utilisation de la fonction PHP array_fill() Jun 27, 2023 am 08:42 AM

Explication détaillée de l'utilisation de la fonction PHP array_fill()

Comment utiliser le module Array en Python Comment utiliser le module Array en Python May 01, 2023 am 09:13 AM

Comment utiliser le module Array en Python

Quelles sont les causes courantes d'ArrayStoreException en Java ? Quelles sont les causes courantes d'ArrayStoreException en Java ? Jun 25, 2023 am 09:48 AM

Quelles sont les causes courantes d'ArrayStoreException en Java ?

See all articles