2015-09-17 3 views
0

J'ai ces quelques cordes:Expression régulière d'une chaîne en PHP

'user/1/myid_print' 
'user/2/myid_print' 
'user/3/myid_print' 
'user/4/myid_print' 
'user/5/myid_print' 

La deuxième partie est une dynamique qui doit contenir des nombres entiers. Qu'est-ce que c'est une expression régulière?

+1

Essayez celui-ci: '^ 'utilisateur/\ d */myid_print'' –

Répondre

3

Essayez ceci:

/user\/\d+\/myid_print/ 

les matchs \d+ un nombre qui contient au moins un chiffre. si elle est un nombre non nul, remplacer le \d+ avec [1-9]\d*

+0

Cela fonctionne, mais pourquoi faut-il mettre/au début et à la fin de l'expression? – Qerjiuthn

+0

@Aliyah, C'est le délimiteur regex par défaut. – leecode

1

Cela dépend un peu de ce que la langue que vous utilisez, mais une réponse valable pour Python est:

user/\d/myid_print 

Le caractère / est souvent utilisé pour décrire des expressions régulières et a parfois besoin \ avant pour le rendre match de partie de la chaîne, une réponse valable pourrait être:

user\/\d\/myid_print 

Ces correspondent au texte « utilisateur/» et «/myid_print » littéralement, et \d correspond au modèle « un chiffre 0-9 ». Si vous devez faire correspondre les chiffres 1,2,3,4,5 seulement, puis utilisez [1-5] au lieu de \d

test ici: https://regex101.com/r/mS4xN4/1

+0

$ en php en particulier? – Qerjiuthn