Jörk Behrends: Perl Ausdrücke.

Beitrag lesen

Hallo auch!

/[-\w]/

Sucht nach genau EINEM - oder Wortzeichen.

Wobei ein Wortzeichen folgendes sein kann:

  • Buchstaben (groß oder klein)
  • Ziffern
  • und der Unterstrich _

Die eckigen Klammern stehen für ODER. Soll heißen, daß EINES der aufgelisteten Zeichen passen muß.

Wie kann man in einem solchen Ausdruck Leerzeichen abfragen?? Reich /[ ]/ ??

/ / genügt.

Frank hat da völlig recht. Die Variante mit den eckigen Klammer funktioniert aber auch. Nur wird hier die Auswahlfunktion der Klammern auf EIN Zeichen beschränkt, so daß diese dann acuh völlig überflüßig sind. Möchtest Du aber auch Space-ähnliche Zeichen berücksichtigen, so kannst Du die Klammervariante noch um diese erweitern. Z.B \t für ein TAB. Oder Du nimmst \s, welches für alle White-Space Zeichen steht (inklusive Return, LineFeed und FormFeed):

/\s/ entspricht also /[ \t\n\r\f]/

Kann man mit einem Solchen Ausdruck auch feststellen ob ein durchsuchter
String z.B nur Leerzeichen enthält??? Oder geht nur ob er solche beinhaltet?

/^ *$/ könnte funktionieren, ansonsten wohl /[1]*$/ oder /^( )*$/.

Genau: ^ steht am Anfang einer Regular Expression (RE) für den Stringanfang, und $ am Ende einer RE für das Stringende - ' *' gibt nun noch an, daß zwischen Anfang und Ende nur Leerzeichen stehen sollen. Kein Leerzeichen ist dabei auch erlaubt. Möchtest Du mindestens ein Leerzeichen in dem String haben, so ist der * durch ein + zu ersetzen ...

Viel Spaß noch,
   Jörk


  1. ↩︎