2017-10-21 56 views
-2

Je voudrais faire correspondre une chaîne de nombres, qui peut être 0, mais je ne permet pas à 0 de démarrer.

Ceci est mon libellé: ^0|[1-9][0-9]*$ .mais il correspondra à 01.

Ceci est le résultat de la recherche d'écrire: ^(0|[1-9][0-9]*)$ .Pourquoi devons-nous faire correspondre les parenthèses après le match est correct.

+0

'^ 0 $ |^[1-9] [0-9] * $ ' – CBroe

Répondre

3

Ceci est mon libellé: ^0|[1-9][0-9]*$ mais il correspondra à 01.

C'est parce que vous dites, des choses de match qui commence par un 0, ou choses match qui se termine par [1-9][0-9]*

dire la bonne chose:

^0$|^[1-9][0-9]*$

Ou, regroupez les alternatives - alors^et $ sera toujours ancrer ce qui se trouve au début et fin:

^(0|[1-9][0-9]*)$