PHP: Possible modifiers in regex patterns - Manual

#15790

Donc pour faire en sorte que les caractéristiques accentués soient pris en compte dans \w, il faut ajouter le flag "u" (en minuscule).

Retourne false :

preg_match('#\w#', 'é') 

Retourne true :

preg_match('#\w#u', 'é') 

http://php.net/manual/en/reference.pcre.pattern.modifiers.php

Foutus patterns | CommitStrip

#15015

C’est simple les regex (à condition de ne pas se frotter aux références arrière & co, et ne de pas essayer de comprendre une regex existante) :)

Mais faut avoir la doc sous la main, oui (comme c’est toujours le cas en pratique).

Voir aussi celle-là, bien marrante : http://www.commitstrip.com/wp-content/uploads/2014/02/Strips-Le-dernier-des-vrais-codeurs-650-finalenglsih.jpg

8 Regular Expressions You Should Know - Envato Tuts+ Code Tutorial

#14799

Attention : les regex pour les url et les emails de cet article sont TRÈS incomplètes ! Celles-ci sont à ne surtout pas utiliser.

Les emails peuvent contenir des "+=/"* et bien d’autres caractères — y compris des espaces et de multiples « @ » — tout en étant valides !

Pour l’email, la regex qui s’approche le mieux de ce qui serait la vraie regex se trouve ici et elle mesure 6 424 caractères (elle n’est pas 100% complète, cf. les avertissements qui sont énoncés dans la page).

J’ai un outil qui teste le format d’une adresse email, et il se trouve ici.
Voir aussi cet article : http://www.bortzmeyer.org/arreter-d-interdire-des-adresses-legales.html

Des remarques similaires peuvent être faites pour les URL : une URL peut contenir des %, &, des : et d’autres caractères.

Et tout ceci ne tient pas compte des nouvelles adresses en unicode, qui va remettre tout ça en cause

(via)

http://code.tutsplus.com/tutorials/8-regular-expressions-you-should-know--net-6149

xkcd: Backslashes

#14444

Problèmes de codeur...
Ça n'arrive pas tous les jours, mais quand ça arrive, il faut mettre sa ceinture. Surtout pour les regex : http://lehollandaisvolant.net/?d=2014/12/01/18/42/45-petite-introduction-aux-regex

Alors quand on est en PHP, qu'on doit écrire du JS et que le JS doit créer une regex en html (pour les input validant le texte avec une regex), c'est le bordel.

Lol aussi sur ça : http://www.commitstrip.com/wp-content/uploads/2014/02/Strips-Le-dernier-des-vrais-codeurs-650-finalenglsih.jpg

Note : PHP récupérer titre d’une page - Le Hollandais Volant

#14398

MÀJ.

Bon, finalement la lib DOM dans PHP n’est pas parfaite.
Exemple avec mon dernier lien : http://shelgon.tumblr.com/post/137159949929/it-has-been-announced-that-the-mythical-pok%C3%A9mon

L’encodage de la page est "utf-8".
L’encodage dans headers est "utf-8"
Il n’y a pas de caractères unicode échappés dans la balise title de la page (certains caractères sont bien échappés ailleurs dans la page, mais ça ne devrait pas gêner).

Pourtant ce con me retourne un titre comme ça : « The Problematic Pokémon ».

C’est la seule page qui me retourne ça. Une autre page Tumblr avec d’autres caractères unicode dans le titre fonctionne très bien. Tout comme les articles de mon site. Tout comme un lien en local.

J’ai aussi essayé de mettre mon script en UTF-8, avec iconv_set_encoding("internal_encoding", "UTF-8") et consorts, mais rien n’y fait.

WTF.


Bon bah on retourne à la bonne vieille regex manuelle, hein. Je ne veux pas d’une lib qui merde comme elle veut.
Je viens d’ailleurs d’améliorer ladite regex, passant de ça :

preg_match('#<title>(.*)</title>#Usi', $ext_file, $titles);

à ça :
preg_match('#<title ?[^>]*>(.*)</title>#Usi', $ext_file, $titles);


Certains sites (en particulier Google Play) utilisent des attributs sur la balise title, et il faut les prendre en compte.

(BTW, cette regex fonctionne sur mon lien avec « The Problematic Pokémon », et me donne bien le « é »)


Vivement le jour où tout le monde, tous les logiciels, partout, tout le temps, utiliseront la même chose.

http://lehollandaisvolant.net/?mode=links&id=20160128180954

regex - Is there a regular expression to detect a valid regular expression? - Stack Overflow - Goldy's links

#12113

Comment je n'aimerais pas avoir à coder une regex qui vérifie les regex... Ma tête exploserait.

Regexption !

Cf : http://lehollandaisvolant.net/?d=2014/12/01/18/42/45-petite-introduction-aux-regex

Question : une telle regex pourrait se valider elle-même ? Y'a bien des programmes qui peuvent afficher le code source d'eux-mêmes (j'ai plus le nom) : les quines.

Daniel Douat - Google+ - Bonsoir à tous.Je lance une bouteille à la mer car je…

#6489

Wow.

Dans « $var = "abc $x def"; » le $x est remplacé : c’est une variable.
Dans « $var = 'abc $x def'; le $x n’est pas remplacé.

(C’est une question de single/double quotes).
Maintenant, je crois que PHP pose problème quand on considère le signe « $ » isolé.

Si je l’échappe avec un antislash dans une regex, il ne signifiera plus « fin du texte » pour le module de la regex, en revanche, il continuera de signifier « variable »PHP pour PHP, si la regex est entre double-quotes !

Exemple sur le lien, et ici :
et ça :
preg_match('/^\$bla/', '$bla'); // match
preg_match("/^\$bla/", '$bla'); // ne matche pas

Casse-gueule, non ?