IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Valider XML Discussion :

[Regular Expressions] Numérotation romaine


Sujet :

Valider XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Points : 17
    Points
    17
    Par défaut [Regular Expressions] Numérotation romaine
    Salut,

    Je cherche à définir un type permettant de vérifier une numérotation romaine. C'est à dire : I,II,III,IV,...

    Voici mon type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xs:simpleType name="IDRoman">
      <xs:restriction base="xs:string">
        <xs:pattern value="[IVX]+"/>
      </xs:restriction>
    </xs:simpleType>
    Mais il y a un problème puisqu'il accepte aussi par exemple IIII qui doit être interdit.

    Merci :

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    J'ai trouvé une solution qui me convient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xs:simpleType name="IDRoman"> 
      <xs:restriction base="xs:string"> 
        <xs:pattern value="(I|II|III|IV|V|VI|VII|VIII|IX|X|XI|XII|XIII|XIV|XV)"/> 
      </xs:restriction> 
    </xs:simpleType>
    Mais si quelqu'un a une solution plus subtile, Merci...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    J'ai trouvé :

    Voici l'expression régulière

    ^(?i:M{0,3}((C[DM])|(D?C{0,3}))?L?(X((X{1,2})|L|C)?)?((I((I{1,2})|V|X|L)?)|(V?I{0,3}))?)$


    Vous allez me dire c'est moi qui est trouvé tout seul, et non voici un site de librairie des expressions réguliaires : http://regexlib.com/


  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    L'expression régulière ne fonctionne pas avec tous les éléments voici une bonne expression régulière :

    M*(CM|DC{0,3}|CD|C{0,3})(XC|LX{0,3}|XL|X{0,3})(IX|VI{0,3}|IV|I{0,3})

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Regular Expression Validator
    Par alband85 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/07/2007, 10h23
  2. Regular expression qui ne fonctionne pas
    Par Remedy dans le forum Langage
    Réponses: 2
    Dernier message: 11/05/2007, 16h52
  3. [Regular expression] Possessive quantifiers
    Par Pragmateek dans le forum Langage
    Réponses: 1
    Dernier message: 24/06/2006, 12h55
  4. [debutant] Regular Expression
    Par absolut75 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 13/06/2006, 01h43
  5. [RegEx] Empty regular expression
    Par Khrysby dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 22h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo