Regexp ruby ... - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Regexp ruby ... (/showthread.php?tid=416) Pages :
1
2
|
Regexp ruby ... - Viciousity - 04-01-2011 Hello tout le monde, Je poste ici parce que voila 2 heures que je me prend la tête sur une bête regexp pour valider quelque chose de cette forme : Von-Dutch Dark-Flo-Le-Noir Mais qui ne valide pas : VoN-DutCh (Majuscule autre part que la première lettre ou apres un tiret) Dark-Flot-Le-Noir-(tiret succédé de rien du tout) Dark-Flot-Le-N(seulement une majuscule et pas de minuscule apres un tiret) En gros avoir une regexp qui n'accepte qu'une séquence de : 1. Premier caractère majuscule. 2. Autant de caractère minuscule après. 3. Si un tiret alors obligatoire une majuscule et une minuscule apres ... Pour le moment j'ai sa mais sa ne suffit pas : /^(([A-Za-z]+([-]?))*)$/i car : - N'oblige pas la majuscule au debut - permet les tiret solitaires Merci d'avance... :S RE: Regexp ruby ... - Sephi-Chan - 04-01-2011 Tu auras bien du mal à valider la casse des caractères puisque tu mets le flag i, pour case insensitive ! Pour le tiret, à voir en rendant la séquence optionnelle, mais je ne me sens pas de le faire en coup de vent. Sephi-Chan RE: Regexp ruby ... - srm - 04-01-2011 Voilà : ^([A-Z][a-z]+\-?)+(?<!\-)$ RE: Regexp ruby ... - Viciousity - 04-01-2011 Pour le début nikel Ox mais la séquence pour la continuité avec le tiret ne marche pas :S Les regexp c'est cool mai super mal doccumenté Checked ^(([A-Z][a-z]+)||([-][A-Z][a-z]+)+)+$ Bon sa pue le trifouillage a la con mais elle marche (soi dit je n'aime ap trop sa donc si vous trouvez mieux :S RE: Regexp ruby ... - Sephi-Chan - 04-01-2011 L'avantage des Regexp, c'est que ce n'est pas lié à un langage. Je ne sais pas si tu utilises Rubular (http://rubular.com/), mais c'est cool ! Sephi-Chan RE: Regexp ruby ... - Viciousity - 04-01-2011 Si si rubular is my friend pour les validations de mes modeles quand je dois utiliser cet affreux :format => {:with => /^(SATANLEDIABLE)$/} RE: Regexp ruby ... - srm - 04-01-2011 Quel cas ne marche pas exactement avec ma Regex ? RE: Regexp ruby ... - Viciousity - 04-01-2011 Il ne comprend pas la partie : (?<!\-) => undefined ? argument RE: Regexp ruby ... - Hideaki - 04-01-2011 Je te propose :
Edit : je n'avais pas remarqué que le tiret est obligatoire RE: Regexp ruby ... - srm - 04-01-2011 Ah oui, Ruby ne connait pas les assertions arrière. Voilà une variante avec des assertions avant : ^([A-Z][a-z]+(\-(?!$)|(?=$)))+$ Au passage moi j'utilise http://gskinner.com/RegExr/ pour les regex que je trouve mieux |