Bonjour,
je voudrais connaitre l'expression régulière d'un nombre entier>0.
Merci!
Bonjour,
je voudrais connaitre l'expression régulière d'un nombre entier>0.
Merci!
En base 10 ?
[1-9][0-9]*
J'avoue ne pas saisir la difficulté :
Peut être celle qui consiste à considérer le signe ...Envoyé par Strab
[^-]\s*[1-9][0-9]*
La FAQ Perl est par ici
: La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !
Cela va dépendre du moteur de regex que tu vas utiliser.
Par exemple, certains comme celui du Perl ou celui de vim, permettent de spécifier des patterns de longueur zéro qui doivent, ou pas, être "matchés".
Dans le pseudo portable et plus simple, il y a aura:
(^|[^- \t])\s*\d+
début de ligne, ou n'importe quoi qui ne soit pas un '-' (ou un espace), suivit d'un nombre quelconque d'espaces, et enfin un nombre positif (strictement) de chiffres.
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
Il faut aussi que le premier chiffre soit non nul. Peux est-ce écris dans ton expression, je ne connais pas cette syntaxe (c'est ce que lisent des outils comme sed, non ?)Envoyé par Luc Hermitte
001 est parfaitement positif. Ce genre de vérif est plus à faire après le match à mon goût.
Au pire, \d\{-}[1-9]\d* devrait faire l'affaire.
Sinon, la syntaxe précédente était plus dans la famille perl.
Cette dernière est de sûr compatible avec Vim, pour perl, je ne sais pas. En perl, ce doit être \d*?[1-9]\d* je crois. (*? doit être le match-any non gourmant, à confirmer par les perl mongers)
Ou tout simplement: 0*[1-9]\d*
Sed est super limité : il ne prend pas les regex étendues (ce qui peut s'avérer pénible -- j'ai un script qui me permet de colorer les résultats d'un find+grep, et le fait que sed ne connaisse pas les regex étendues oblige à cascader plusieurs sed)
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager