Question
Regex matcher la casse de chaine
- physyo
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 22
- Remerciements reçus 0
il y a 14 ans 5 mois #5548
par physyo
Regex matcher la casse de chaine a été créé par physyo
Bonjour à tous.
Je cherche le moyen de vérifier si une chaine et en majuscule ou en minuscule via un regex
j'ai réussi à faire ceci:
[code:1]\"Chaine\" -cmatch \"^[A-Z]\"
true
[/code:1]
Mais je veux matcher la casse de tout les caractère.
je pensais faire un truc du genre:
[code:1] \"CHAINE\" -cmatch \".[A-Z]\"
true
\"CHaiNe\" -cmatch \".[A-Z]\"
false
[/code:1]
Avez-vous un idée ?
Merci de votre aide.
Je cherche le moyen de vérifier si une chaine et en majuscule ou en minuscule via un regex
j'ai réussi à faire ceci:
[code:1]\"Chaine\" -cmatch \"^[A-Z]\"
true
[/code:1]
Mais je veux matcher la casse de tout les caractère.
je pensais faire un truc du genre:
[code:1] \"CHAINE\" -cmatch \".[A-Z]\"
true
\"CHaiNe\" -cmatch \".[A-Z]\"
false
[/code:1]
Avez-vous un idée ?
Merci de votre aide.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 14 ans 5 mois #5550
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Regex matcher la casse de chaine
Je pense qu'il faut inverser la recherche, c'est à dire rechercher la présence de minuscule pour tester si tout est en majuscule et inversement:
[code:1]
#match au premier caractère minuscule rencontré
$matches=$false;\"CHAiNE\" -cmatch \"[a-z]\";$Matches
# True
# Name Value
# ----
# 0 i
$matches=$false;\"CHAiNE abc\" -cmatch \"[a-z]\";$Matches
# True
# Name Value
# ----
# 0 i
$matches=$false;\"CHAINE\" -cmatch \"[a-z]\";$Matches
#False
#False
#match au premier caractère majuscule rencontré
$matches=$false;\"caractèrEs\" -cmatch \"[A-Z]\";$Matches
# True
# Name Value
# ----
# 0 E
$matches=$false;\"caractèrEs ABC\" -cmatch \"[A-Z]\";$Matches
# True
# Name Value
# ----
# 0 E
$matches=$false;\"caractères\" -cmatch \"[A-Z]\";$Matches
#False
#False
[/code:1]
Et avec \".[A-Z]\" tu recherches 2 caractères, n'importe quel caractère plus un caractère majuscule.
Il doit y avoir d'autres solutions et je n'ai pas créé de jeux de test...
[code:1]
#match au premier caractère minuscule rencontré
$matches=$false;\"CHAiNE\" -cmatch \"[a-z]\";$Matches
# True
# Name Value
# ----
# 0 i
$matches=$false;\"CHAiNE abc\" -cmatch \"[a-z]\";$Matches
# True
# Name Value
# ----
# 0 i
$matches=$false;\"CHAINE\" -cmatch \"[a-z]\";$Matches
#False
#False
#match au premier caractère majuscule rencontré
$matches=$false;\"caractèrEs\" -cmatch \"[A-Z]\";$Matches
# True
# Name Value
# ----
# 0 E
$matches=$false;\"caractèrEs ABC\" -cmatch \"[A-Z]\";$Matches
# True
# Name Value
# ----
# 0 E
$matches=$false;\"caractères\" -cmatch \"[A-Z]\";$Matches
#False
#False
[/code:1]
Et avec \".[A-Z]\" tu recherches 2 caractères, n'importe quel caractère plus un caractère majuscule.
Il doit y avoir d'autres solutions et je n'ai pas créé de jeux de test...
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- otokonohito
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 21
- Remerciements reçus 0
il y a 14 ans 5 mois #5555
par otokonohito
Réponse de otokonohito sur le sujet Re:Regex matcher la casse de chaine
Bonjour,
Essai ceci
[code:1]\"^[A-Z]*$\"[/code:1]
ou si tu ne veux pas le champ vide comme bonne réponse, ceci
[code:1]\"^[A-Z]+$\"[/code:1]
mais attention cette solution ne supporte pas les espaces.
Pour avoir des espaces, essai :
[code:1]\"^[A-Z| ]*$][/code:1]
ou
[code:1]\"^[A-Z| ]+$][/code:1]
Pour plus d'infos va voir
fr.wikipedia.org/wiki/Expression_rationnelle
Cordialement
Essai ceci
[code:1]\"^[A-Z]*$\"[/code:1]
ou si tu ne veux pas le champ vide comme bonne réponse, ceci
[code:1]\"^[A-Z]+$\"[/code:1]
mais attention cette solution ne supporte pas les espaces.
Pour avoir des espaces, essai :
[code:1]\"^[A-Z| ]*$][/code:1]
ou
[code:1]\"^[A-Z| ]+$][/code:1]
Pour plus d'infos va voir
fr.wikipedia.org/wiki/Expression_rationnelle
Cordialement
Connexion ou Créer un compte pour participer à la conversation.
- otokonohito
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 21
- Remerciements reçus 0
il y a 14 ans 5 mois #5556
par otokonohito
Réponse de otokonohito sur le sujet Re:Regex matcher la casse de chaine
Pardon j'ai inversé deux caractères sur les deux dernières commandes
[code:1]\"^[A-Z]*$\"
\"^[A-Z]+$\"
\"^[A-Z| ]*]$
\"^[A-Z| ]*]$[/code:1]
[code:1]\"^[A-Z]*$\"
\"^[A-Z]+$\"
\"^[A-Z| ]*]$
\"^[A-Z| ]*]$[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- otokonohito
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 21
- Remerciements reçus 0
il y a 14 ans 5 mois #5557
par otokonohito
Réponse de otokonohito sur le sujet Re:Regex matcher la casse de chaine
Décidément...
[code:1]\"^[A-Z]*$\"
\"^[A-Z]+$\"
\"^[A-Z| ]*$
\"^[A-Z| ]+$[/code:1]
[code:1]\"^[A-Z]*$\"
\"^[A-Z]+$\"
\"^[A-Z| ]*$
\"^[A-Z| ]+$[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 14 ans 5 mois #5560
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Regex matcher la casse de chaine
Rien ne vaut quelques tests (à compléter bien sûr ).
-MATCH :
[code:1]
\"^[A-Z]*$\",
\"^[A-Z]+$\",
\"^[A-Z| ]*$\",
\"^[A-Z| ]+$\",
\"^[A-Z|\s]*$\",
\"^[A-Z|\s]+$\",
\"[a-z]\",
\"[A-Z]\"| %{
Write-Host \"Regex : `\"$_`\" \"
Write-Host \"CHAiNE : \" -Nonewline
$matches=$false;\"CHAiNE\" -match $_
Write-Host \"CHAiNE abc : \" -Nonewline
$matches=$false;\"CHAiNE abc\" -match $_
Write-Host \"CHAINE : \" -Nonewline
$matches=$false;\"CHAINE\" -match $_
Write-Host \"caractèrEs : \" -Nonewline
$matches=$false;\"caractèrEs\" -match $_
Write-Host \"caractèrEs ABC : \" -Nonewline
$matches=$false;\"caractèrEs ABC\" -match $_
Write-Host \"caractères : \" -Nonewline
$matches=$false;\"caractères\" -match $_
Write-Host \"CARACtères : \" -Nonewline
$matches=$false;\"CARACtères\" -match $_
Write-Host \"caracTERES : \" -Nonewline
$matches=$false;\"caracTERES\" -match $_
Write-Host
pause
}
[/code:1]
-CMATCH :
[code:1]
\"^[A-Z]*$\",
\"^[A-Z]+$\",
\"^[A-Z| ]*$\",
\"^[A-Z| ]+$\",
\"^[A-Z|\s]*$\",
\"^[A-Z|\s]+$\",
\"[a-z]\",
\"[A-Z]\"| %{
Write-Host \"Regex : `\"$_`\" \"
Write-Host \"CHAiNE : \" -Nonewline
$matches=$false;\"CHAiNE\" -cmatch $_
Write-Host \"CHAiNE abc : \" -Nonewline
$matches=$false;\"CHAiNE abc\" -cmatch $_
Write-Host \"CHAINE : \" -Nonewline
$matches=$false;\"CHAINE\" -cmatch $_
Write-Host \"caractèrEs : \" -Nonewline
$matches=$false;\"caractèrEs\" -cmatch $_
Write-Host \"caractèrEs ABC : \" -Nonewline
$matches=$false;\"caractèrEs ABC\" -cmatch $_
Write-Host \"caractères : \" -Nonewline
$matches=$false;\"caractères\" -cmatch $_
Write-Host \"CARACtères : \" -Nonewline
$matches=$false;\"CARACtères\" -match $_
Write-Host \"caracTERES : \" -Nonewline
$matches=$false;\"caracTERES\" -match $_
Write-Host
pause
}
[/code:1]
-MATCH :
[code:1]
\"^[A-Z]*$\",
\"^[A-Z]+$\",
\"^[A-Z| ]*$\",
\"^[A-Z| ]+$\",
\"^[A-Z|\s]*$\",
\"^[A-Z|\s]+$\",
\"[a-z]\",
\"[A-Z]\"| %{
Write-Host \"Regex : `\"$_`\" \"
Write-Host \"CHAiNE : \" -Nonewline
$matches=$false;\"CHAiNE\" -match $_
Write-Host \"CHAiNE abc : \" -Nonewline
$matches=$false;\"CHAiNE abc\" -match $_
Write-Host \"CHAINE : \" -Nonewline
$matches=$false;\"CHAINE\" -match $_
Write-Host \"caractèrEs : \" -Nonewline
$matches=$false;\"caractèrEs\" -match $_
Write-Host \"caractèrEs ABC : \" -Nonewline
$matches=$false;\"caractèrEs ABC\" -match $_
Write-Host \"caractères : \" -Nonewline
$matches=$false;\"caractères\" -match $_
Write-Host \"CARACtères : \" -Nonewline
$matches=$false;\"CARACtères\" -match $_
Write-Host \"caracTERES : \" -Nonewline
$matches=$false;\"caracTERES\" -match $_
Write-Host
pause
}
[/code:1]
-CMATCH :
[code:1]
\"^[A-Z]*$\",
\"^[A-Z]+$\",
\"^[A-Z| ]*$\",
\"^[A-Z| ]+$\",
\"^[A-Z|\s]*$\",
\"^[A-Z|\s]+$\",
\"[a-z]\",
\"[A-Z]\"| %{
Write-Host \"Regex : `\"$_`\" \"
Write-Host \"CHAiNE : \" -Nonewline
$matches=$false;\"CHAiNE\" -cmatch $_
Write-Host \"CHAiNE abc : \" -Nonewline
$matches=$false;\"CHAiNE abc\" -cmatch $_
Write-Host \"CHAINE : \" -Nonewline
$matches=$false;\"CHAINE\" -cmatch $_
Write-Host \"caractèrEs : \" -Nonewline
$matches=$false;\"caractèrEs\" -cmatch $_
Write-Host \"caractèrEs ABC : \" -Nonewline
$matches=$false;\"caractèrEs ABC\" -cmatch $_
Write-Host \"caractères : \" -Nonewline
$matches=$false;\"caractères\" -cmatch $_
Write-Host \"CARACtères : \" -Nonewline
$matches=$false;\"CARACtères\" -match $_
Write-Host \"caracTERES : \" -Nonewline
$matches=$false;\"caracTERES\" -match $_
Write-Host
pause
}
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.070 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Regex matcher la casse de chaine