|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Membre habitué
![]() Inscription : septembre 2003 Messages : 595 ![]() |
Bonjour,
Je n'arrive pas a créer une regex qui soit capable de matcher un nombre dans une chaine comme celle-ci: Citation:
Mais si par exemple je veux matcher le nombre 4, il matche 4 mais aussi le 4 de 45 et celui de 84 Ce que je veux faire c'est une regex qui reconnait un motif qui: peut se trouver en début de chaine OU être précédé de ; et/ou peut se trouver en fin de chaine OU être suivi de ; J'ai fait plusieurs essaies mais je tourne en rond. Quelqu'un pourrait m'aider ? Merci. |
|
|
|
00
|
|
|
#2 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
explode + in_array ?
Le masque est faux, c'est sûr qu'en rendant les point-virgules facultatifs, vous allez matcher un 4 situé n'importe où. /(?:^|;)4(?:;|$)/ ? FALSE !== strpos(';' . $in . ';', ';4;'); ? |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : septembre 2003 Messages : 595 ![]() |
est presque bon sauf qu'il inclue les points virgule,
mais je n'arrive pas à trouver la modif pour qu'il ne prenne que le nombre. Une idée ? |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 118 ![]() |
utilise ce que ta dit julp, explode + in_array
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 | |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Citation:
Mais donner le contexte aurait pu être utile ... |
|
|
|
00
|
|
|
#6 | |
|
Membre habitué
![]() Inscription : septembre 2003 Messages : 595 ![]() |
Citation:
Sinon: fonctionne parfaitement. ![]() Je vais maintenant essayer de comprendre ce que fait exactement cette regex histoire de ne pas copier/coller bêtement. Merci. |
|
|
|
00
|
|
|
#7 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 118 ![]() |
Citation:
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#8 |
![]() ![]() Josselin Développeur Web Inscription : janvier 2004 Messages : 9 050 ![]() |
|
|
|
00
|
|
|
#9 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 118 ![]() |
Citation:
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#10 | |
|
Membre habitué
![]() Inscription : septembre 2003 Messages : 595 ![]() |
Citation:
Code :
$query = 'SELECT * FROM matable WHERE champ REGEXP "(?<=^|;)'.$motif.'(?=;|$)"'; (le contraire du point en fait) ? |
|
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : septembre 2010 Messages : 7 118 ![]() |
t'as pas a faire ça dans un SGBD, tu doit faire un table de correspondance, je te conseil de revoir ton schéma, que de faire de la bidouille
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#12 |
|
Membre habitué
![]() Inscription : septembre 2003 Messages : 595 ![]() |
Dans mon cas une table de correspondance serait un peu lourd à gérer. En quoi le fait de récupérer une donnée via une regex dans MySQL pose problème ?
|
|
|
00
|
|
|
#13 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 118 ![]() |
Citation:
En quoi me servir de ma voiture comme tracteur pose problème ?
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#14 |
|
Membre habitué
![]() Inscription : septembre 2003 Messages : 595 ![]() |
Ok, merci.
J'ai revu mon schéma. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com