Regex -- Großbuchstabe im Wort finden

Hallo,

wie kann ich Strings finden, wo irgendwo im Wort ein Großbuchstabe erscheint?
z.B. WeiHnachten

Habe es so versucht:
‚^.*[[:lower:]]+[[:upper:]]+.*$‘

Funktioniert leider nicht

Danke

Ajo

Hallo,

wie kann ich Strings finden, wo irgendwo im Wort ein
Großbuchstabe erscheint?
z.B. WeiHnachten

\w\*[A-Z]\w\*

scheint zu passen.

Gruß
Heavy

Hallo,

wie kann ich Strings finden, wo irgendwo im Wort ein
Großbuchstabe erscheint?
z.B. WeiHnachten

\w*[A-Z]\w*

scheint zu passen.

Nur wenn Ä und Ö und Δ für dich keine Großbuchstaben sind, und wenn dir das „im Wort“ nicht wichtig ist. \w* matcht auch 0 Zeichen, d.h. in ‚Bla‘ würde das erste \w* gar nichts matchen, das zweite ‚la‘, und wäre damit immer noch erfolgreich.

$ perl -wE 'say "oh noes" if "Bla" ~~ /\w\*[A-Z]\w\*/'
oh noes

In Perl wäre ein passende Regex sowas hier:

if ($str =~ /\pL \p{Lu} \pL/x) { ... }

\pL fragt die Unicode-Klassifizierung „Letter“ ab, \p{Lu} fragt „Letter, Uppercase“ up.

Grüße,
Moritz

2 Like