Quelqu'un peut-il me dire quel algorithme de regex cela est?
^0[1-10]
{3}-[1-10]
{3}-[1-10]{3}$
3 Réponses :
Cette regex a l'air mal formée ... donc probablement rien dans son état actuel ... Si vous le réparez, cependant:
correspondra à ces lignes: p> où x est soit Donc, les deux premiers, mais pas la dernière de ces lignes: p> ^ 0 [1-10] {3} - [1-10] {3} - [1-10] {3} $ code> p> p> P> P> 1 code> ou 0 code> p>
@lawrencealan est correct sur les matchs littéraux, mais si la regex était fixée à , il correspondrait à p> où X ne peut être que des nombres 1-9, pas 0. Par exemple, ceux-ci correspondent tous: p> mais non: p>
Nous pouvons examiner cette regex comme l'une des trois possibilités: P>
Inutile de dire que tous les trois rendent des résultats de correspondance différents. J'utilise regex101.com pour expliquer les matchs de regex. P>
Le modèle Si je remplace Ceci ressemble maintenant à une expression pour capturer une sorte de code numérique p>
Vous pouvez également clarifier la signification en remplaçant Voici un VIZ du processus d'assortiment: https://regexper.com/# \0\d {3} - \ d {3} - \ d {3} $ P>
[1-10] code> est (très probable) une faute de frappe. La question posait probablement des "nombres 1 à 10", mais cela dit "l'un quelconque de: 1 code>, 0 code>, - p>" p> "
[1-10] code> avec [0-9] code> L'expression est beaucoup plus utile. Jetez un coup d'œil à ceci: https://regex101.com/r/khd1li/3/ p>
[0-9] code> avec \ d code> qui est un classe sténographie pour tous les chiffres p>
m /.../ x code> permet à PCRE's (? x) ... code>, tout comme deux exemples
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.
^ code> signifie "commence par" donc un nombre qui commence par0 code>.[] code> signifie l'un de ces caractères.- code> a une signification particulière dans[] code> - cela signifie la plage. Donc[1-10] code> signifie à partir de1 code> à1 code> ou0 code>. Cela peut être simplifié à[10] code>. Donc, le premier REGEXP correspond à tout ce qui commence par0 code> suivi de1 code> ou0 code>. Il peut être écrit plus efficacement comme^ 0 [01] code> mais je suppose que l'auteur destiné à écrire^ 0 [0-9] code>[1-10] code> ressemble sérieusement à un bug qui aurait dû être[0-9] code>Merci pour les commentaires les amis. Malheureusement, tout cela est tout le code qui m'a été donné comme test.