Bonjour!

J'ai eu de l'aide pour créer une expression régulière mais je n'arrive pas à comprendre les éléments qui touchent les assertions à partir de mon code:

Je tente de décortiquer le preg_match, si quelqu'un peu m'expliquer la relation entre les éléments :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<?php
$imgUrl = 'a17a5-98uu.Jpg';
echo preg_match('#^[a-z](?=[1-9a-z-]{3,20}[a-z])[0-9a-z]+(?(?=-)-[0-9a-z]+)[a-z]\.jpg$#i',$imgUrl);
?>
<br>
 
décomposé : 
#^[a-z]
(?=[1-9a-z-]{3,20}[a-z])[0-9a-z]+
(?(?=-)-[0-9a-z]+)[a-z]\.jpg$#i
Ce code fonctionne parfaitement mais j'aimerais me le faire expliquer. Ça serait apprécié. Merci.

PS, j'ai fini par comprendre le fonctionnement du forum.