phpbar.de logo

Mailinglisten-Archive

[php] Mein Beitrag zur Woche der 'Regulaere Ausdruecke'

[php] Mein Beitrag zur Woche der 'Regulaere Ausdruecke'

Andreas Heigl a.heigl at wdv.de
Fre Dez 3 14:21:43 CET 2004


Am 03.12.2004 13:52 Uhr schrieb "Michael.Glaser at spb.de" unter
<Michael.Glaser at spb.de>:

> Hallo zusammen!
> 
> Nachdem diese Woche scheinbar die Woche der RegExp Probleme ist, will ich
> an dieser Stelle nicht nachstehen und auch gerne meine RegExp-Problem evtl.
> an dieser Stelle geloest bekommen.
> 
> Ich bekomme Infromationen von Konponenten die wie folgt heissen: AxxBCyy.
> Dabei ist xx ein Element der Zahlen 61,63,65,71,73,81,84. Fuer jedes xx
> kann unter yy folgender Wert stehen: 25,35,45,55. D.h. ich habe Komponenten
> der Art A61BC25, A61BC35, A61BC45, A61BC55, A63BC25, A63BC45 .... ,
> A84BC45, A64BC55. (Fuer xx koennen nur die angegebenen Werte vorkommen, yy
> hingegen gilt (leider) diese Beschraenkung nicht).
> 
> Nachdem dieses Problem einfach nach einem RegExp schreit, wollte ich es
> damit auch loesen. Meine Vorschlaege dazu waren.:
>      - /A..BC[25|35|45|55]/
>      - /A..BC["25"|"35"|"45"|"55"]/
>      - /A\d\dBC["25"|"35"|"45"|"55"]/
> 
> Aber irgendwie filterte ich mit preg_match (regExp, $variable) alles nur
> nicht das was ich wollte.
> 
> Weiss jemand von Euch einen Rat oder die richtige RegExp?

Probiers mal mit

/A\d{2}BC(25|35|45|55)/

Der geklammerte Ausdruck ist ein Subpattern. Du definierst nämlich mit
deinen Eckigen Klammern eine Gruppe, die folgende Elemente enthalten darf:
    "2345|
Und das genau einmal.

Folglich passt dein Ausdruck z.B. Auf AxxBC4, AxxBC" oder AxxBC|

Grüße

Andreas
-- 

wdv Medien & Kommunikation GmbH & Co. OHG
Mediendatenverarbeitung
Andreas Heigl
Siemensstrasse 6
61352 Bad Homburg
Germany
Telefon +49-(0)6172-670-185
Telefax +49-(0)6172-670-181
www.wdv.de



php::bar PHP Wiki   -   Listenarchive