Maison > Java > javaDidacticiel > Pourquoi mon Regex ne fonctionne-t-elle pas dans String.matches() de Java ?

Pourquoi mon Regex ne fonctionne-t-elle pas dans String.matches() de Java ?

Susan Sarandon
Libérer: 2024-11-29 17:49:14
original
348 Les gens l'ont consulté

Why Doesn't My Regex Work in Java's String.matches()?

Regex ne fonctionne pas dans String.matches()

Question :

A l'utilisateur a écrit un extrait de code pour faire correspondre les chaînes contenant uniquement des minuscules lettres :

String[] words = {"{apf","hum_","dkoe","12f"};
for(String s:words)
{
    if(s.matches("[a-z]"))
    {
        System.out.println(s);
    }
}
Copier après la connexion

Cependant, le code n'imprime rien, même s'il attend "dkoe" comme sortie.

Réponse :

Contraire à son nom, la méthode String.matches() de Java fait correspondre l'intégralité de la chaîne d'entrée à une expression régulière. Pour faire correspondre seulement une partie de la chaîne, utilisez plutôt Pattern et Matcher :

Pattern p = Pattern.compile("[a-z]+");
Matcher m = p.matcher(inputString);
if (m.find())
    // match
Copier après la connexion

Alternativement, si vous souhaitez faire correspondre la chaîne entière, ajoutez un à la classe de caractères dans la méthode matches() :

if(s.matches("[a-z]+"))
Copier après la connexion

Ou utilisez un modèle d'expression régulière complet :

if(s.matches("^[a-z]+$"))
Copier après la connexion

Cela correspondra aux chaînes contenant uniquement des lettres minuscules, comme ^ et $ les ancres garantissent que la correspondance couvre toute la chaîne d'entrée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal