Heim > Java > javaLernprogramm > Warum funktioniert mein Regex nicht in Javas String.matches()?

Warum funktioniert mein Regex nicht in Javas String.matches()?

Susan Sarandon
Freigeben: 2024-11-29 17:49:14
Original
384 Leute haben es durchsucht

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

Regex funktioniert nicht in String.matches()

Frage:

A Der Benutzer hat einen Codeausschnitt geschrieben, um Zeichenfolgen abzugleichen, die nur Kleinbuchstaben enthalten Buchstaben:

String[] words = {"{apf","hum_","dkoe","12f"};
for(String s:words)
{
    if(s.matches("[a-z]"))
    {
        System.out.println(s);
    }
}
Nach dem Login kopieren

Der Code gibt jedoch nichts aus, obwohl „dkoe“ als Ausgabe erwartet wird.

Antwort:

Im Gegenteil Wie der Name schon sagt, gleicht die String.matches()-Methode von Java die gesamte Eingabezeichenfolge mit einem regulären Ausdruck ab. Um nur einen Teil der Zeichenfolge abzugleichen, verwenden Sie stattdessen Muster und Matcher:

Pattern p = Pattern.compile("[a-z]+");
Matcher m = p.matcher(inputString);
if (m.find())
    // match
Nach dem Login kopieren

Wenn Sie alternativ die gesamte Zeichenfolge abgleichen möchten, hängen Sie a an die Zeichenklasse in der Methode „matches()“ an:

if(s.matches("[a-z]+"))
Nach dem Login kopieren

Oder verwenden Sie ein vollständiges Regex-Muster:

if(s.matches("^[a-z]+$"))
Nach dem Login kopieren

Damit werden Zeichenfolgen gefunden, die nur Kleinbuchstaben enthalten, wie die Anker ^ und $ Stellen Sie sicher, dass die Übereinstimmung die gesamte Eingabezeichenfolge abdeckt.

Das obige ist der detaillierte Inhalt vonWarum funktioniert mein Regex nicht in Javas String.matches()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage