regex word boundaries?

zu1u

Mitglied
Hallo zusammen,
vieleicht weiss jemand von euch wie ich am besten folgendes Problem lösen könnte. Ich habe einen String, der der Name eines Ordners ist. Er könnte also z.B. "MeineBilder", "Meine Bilder" oder "Meine_Bilder" usw... heißen. Ich würde nun gerne die Wörter aus dem Namen extrahieren. Word boundaries treffen anscheinend nicht auf den Übergang von lowercase -> uppercase zu.. auch nicht auf _
Ich habe es mit "((\\b(.*)\\b)|([A-Z_].*))*" versucht, komme damit aber nicht zum Ziel. Bräuchte ich noch look behind oder sowas in der Art? Oder geh ich die Sache irgendwie zu kompliziert an?
Danke für jegliche Tips
 
hm also ich hab es jetzt so gemacht: "([A-Z]?[a-z0-9]+)+?"
das scheint fürs erste ganz gut zu funktionieren. Wenn noch jemand verbesserungsideen hat immer gern ;)
 
Moin,

hier mal wieder mein Standardtipp zu regulären Ausdrücken :

wir nutzen hier in der Firma zum Testen von regulären Ausdrücken das nette kleine
Tool "RegEx coach"! Es kann zusammen mit seiner Doku hier runtergeladen werden:
http://weitz.de/regex-coach ("Windows installer" oder "Linux tar archive")

Es eignet sich auch gut zur Einarbeitung in dieses Thema!

Eine weitere gute Übersicht zu den Java Pattern liefert diese Seite:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html

Gruß
Klaus
 

Neue Beiträge

Zurück