RegEx Erläuterung "ˆ[ˆa-zA-Z]+$"

Hi :)!

Wir haben als Übungsaufgabe bekommen den folgenden RegEx zu erklären:

"ˆ[ˆa-zA-Z]+$"

Ich habe schon ein passendes Programm zu Abfrage eines RegEx geschrieben aber egal was ich so eingebe als String, es findet nichts :D

Verstehen würde ich es so: Zeilenanfang [kein Zeichen aus a-zA-Z] davon mindestens 1 + beliebig viele

das $ am Ende steht ja für Zeilenende... aber wieso und was es hier heißt??

Bin dankbar für Tipps :)!! hier noch mein Code:

Code:
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegExUebung6 {
        public static void x ( String a) {

            String pattern = "ˆ[ˆa-zA-Z]+$";
            Pattern p = Pattern.compile(pattern);
            Matcher matcher = p.matcher(a);
            while (matcher.find()) {
                System.out.println(matcher.group() + " " + matcher.start () + " " + matcher.end());
            }
        }

    public static void main(String[] args) {
        x ("hallo");
    }
}
 
Dein Problem ist vermutlich, dass du nicht wirklich das Caret ASCII Zeichen '^' (Taste direkt unter ESC auf einer deutschen Tastatur) mit Codepoint 94 verwendest, sondern das Unicode-Zeichen 'ˆ' mit Codepoint 710, welches in RegExp keine Bedeutung hat. Demnach matched z.B. der String "ˆaˆbZE" bei dir.
 
gib mal 1234 als string ein.
kommt bei mir immernoch keine Ausgabe?

Dein Problem ist vermutlich, dass du nicht wirklich das Caret ASCII Zeichen '^' (Taste direkt unter ESC auf einer deutschen Tastatur) mit Codepoint 94 verwendest, sondern das Unicode-Zeichen 'ˆ' mit Codepoint 710, welches in RegExp keine Bedeutung hat. Demnach matched z.B. der String "ˆaˆbZE" bei dir.
Okay und wie kann ich das "ändern" bzw wie kann ich das von Codepoint 94 verwenden? :)
 
Okay und wie kann ich das "ändern" bzw wie kann ich das von Codepoint 94 verwenden?
Kommt drauf an, ob in der Aufgabenstellung tatsächlich und ganz explizit das Unicode-Zeichen ˆ verwendet wurde (welches in Regexp keine spezielle Bedeutung hat), oder ob damit tatsächlich einfach nur das Zeichen ^ gemeint ist.
In letzterem Fall, und um auf deine Frage abschließend zu antworten: Du musst halt einfach das Zeichen ^ in dem regulären Ausdruck statt dem Zeichen ˆ verwenden.
Im ersteren Fall behandele das Zeichen ˆ einfach als ganz normales Zeichen und ermittele Beispiele, auf die der reguläre Ausdruck mit eben diesem normalen Zeichen ˆ matched.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben