PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Gelöst] Zahlen


Reksio
05.03.2006, 08:34
Hallo,

habe da vielleicht da eine ganz einfache Sache. Bin aber erst Neuling was reguläre Ausdrücke betrifft.

Möchte in einer Auflistung von Zahlen 1, 2, 3, 10, 20, 22 die 2 und nicht die 2 in der 22 finden.


Axel


Manni the Dark
05.03.2006, 10:56
Du musst dein Problem etwas genauer formulieren. Die 2 könntest du so finden:
/(2),/
Wenn du das allgemeiner meinst, und irgendeine 1-stellige Zahl finden willst, benutz das:
/(\d),/
Ansonsten sag mal genauer, was du willst (allgemeiner)

amoxys
05.03.2006, 11:13
Die 2 könntest du so finden:
/(2),/
Findet man so nicht auch jede Zahl, die auf 2 endet? Wenn man wirklich nur die 2 finden will, muss man doch sicherstellen, dass links und rechts davon keine Ziffern stehen.
Also vielleicht:/\D(2)\D/Aber es kann ja auch sein, dass die 2 direkt am Anfang oder Ende der Auflistung steht. Eventuell kann man nach Wortgrenzen suchen. Ich weiss leider nicht, ob das auch bei Zahlen funktioniert./\b(2)\b/

Reksio
05.03.2006, 16:28
Echt spitze! Vielen Dank.

Es sollte ein String von Zahlen unterteilt mit Kommata nach einzelnen Zahlen untersucht werden. Hinter den Zahlen sind Zuordnungen versteckt. Deshalb darf nicht bei Suche nach 2 z.B. 22 gefunden werden.


Axel

p.s. Weiss jemand weshalb preg_match (unter php) das Array bei einem Fund 2 Felder hat?

Jan Krüger
05.03.2006, 17:08
Im ersten Feld steht der gesamte Match, im zweiten der Inhalt der runden Klammern (Subgroup). Hättest du noch weitere Subgroups, gäbe es für jede einen weiteren Eintrag im Array.

Reksio
05.03.2006, 23:32
Im ersten Feld steht der gesamte Match, im zweiten der Inhalt der runden Klammern (Subgroup). Hättest du noch weitere Subgroups, gäbe es für jede einen weiteren Eintrag im Array.

Alles klar. Vielen Dank.