-1
votes

Que pourrait être cet algorithme de regex?

Quelqu'un peut-il me dire quel algorithme de regex cela est?

^0[1-10]
{3}-[1-10]
{3}-[1-10]{3}$


4 commentaires

Ce modèle n'a pas beaucoup de sens, pour une chose. Je serais beaucoup plus facile pour nous de vous aider si vous pouviez nous dire ce que le modèle est censé faire.


Cela ressemble à une regexp écrite par quelqu'un qui ne comprend pas Regexp. Prenez le premier exemple. ^ signifie "commence par" donc un nombre qui commence par 0 . [] signifie l'un de ces caractères. - a une signification particulière dans [] - cela signifie la plage. Donc [1-10] signifie à partir de 1 à 1 ou 0 . Cela peut être simplifié à [10] . Donc, le premier REGEXP correspond à tout ce qui commence par 0 suivi de 1 ou 0 . Il peut être écrit plus efficacement comme ^ 0 [01] mais je suppose que l'auteur destiné à écrire ^ 0 [0-9]


[1-10] ressemble sérieusement à un bug qui aurait dû être [0-9]


Merci pour les commentaires les amis. Malheureusement, tout cela est tout le code qui m'a été donné comme test.


3 Réponses :


0
votes

Cette regex a l'air mal formée ... donc probablement rien dans son état actuel ... Si vous le réparez, cependant:

^ 0 [1-10] {3} - [1-10] {3} - [1-10] {3} $

correspondra à ces lignes: xxx

où x est soit 1 ou 0

Donc, les deux premiers, mais pas la dernière de ces lignes: xxx


0 commentaires

1
votes

@lawrencealan est correct sur les matchs littéraux, mais si la regex était fixée à xxx

, il correspondrait à xxx

où X ne peut être que des nombres 1-9, pas 0. Par exemple, ceux-ci correspondent tous: xxx

mais non: xxx


0 commentaires

1
votes

Nous pouvons examiner cette regex comme l'une des trois possibilités:


1 commentaires

m /.../ x permet à PCRE's (? x) ... , tout comme deux exemples