Reguläre Ausdrücke

ich_Schmiddy

Mitglied
Hallo!

Ich habe eine Frage zu regulären Ausdrücken:

Mit

boolean b = Pattern.matches("a*b","aaaaab");

kann ich ja prüfen, ob der Ausdruck "a*b", also beliebig viele a und dann ein b, auf den rechten String passt. Soweit so gut.

Wenn ich jetzt aber sagen wir 100 Zeichen habe und testen will, ob irgendwo da drin "a*b" passt, egal was außen rum steht, wie mache ich das?

Bei dem obigen test muß ja der ganze rechte String auf den reg Ausdruck passen...
 
Dafür wäre der passende Ausdruck ".*a*b.*". Ein Punkt kann jedes beliebige Zeichen sein.
Allerdings wäre der o.g. Ausdruck gleichbedeutend mit ".*b.*", da "*" keins oder beliebig viele des vorhergehenden Zeichens bedeutet. Wenn mindestens ein "a" vor dem "b" stehen soll, muss es ".*a+b.*" heißen.

Peter
 

Neue Beiträge

Zurück