2011-08-19 5 views
5

Pour une raison quelconque, je n'arrive pas à utiliser des groupes non-capturants dans MySQL. Est-il un moyen de les utiliser dans un MySQL REGEXP?Utiliser des groupes non-capturants dans MySQL REGEXP

Pour les groupes non-capture dans la mise en œuvre PCRE de PHP, j'utilise cette syntaxe:

(?:[PATTERN]) 
+0

Adapté du commentaire-réponse d'Andrej Ludinovskov de 2011, qui devrait être supprimé: en tant que document [MySQL 5.1 regexp docs] (http://dev.mysql.com/doc/refman/5.1/fr/regexp.html) , les parenthèses forment un groupe mais ne capturent pas. –

Répondre

10

Groupes dans MySQL expressions régulières ne sont pas les groupes capturés, puisque la capture des groupes dans SQL serait pas beaucoup de sens ... Eh bien, non sans l'ajout de la syntaxe pour soutenir l'utilisation des sous-chaînes capturées. Donc, il ne supporte pas la syntaxe (?:), puisque cette syntaxe est inutile dans MySQL - les groupes déjà ne capturent pas. Par conséquent, ([PATTERN]) est un groupe non-capturant.