Forum: PC-Programmierung Suche Regex Ausdruck


von Ronja (Gast)


Lesenswert?

Stehe mit regex auf Kriegsfuss, habe 2h gegogelt und regexr.com 
probiert, kriegs aber nicht hin...

Wie kann ich aus dem Sting
irgendwas value="1" irgendwasanderes
die 1 extrahieren?

von René H. (Gast)


Lesenswert?

Mit sed und awk kein Problem. Vielleicht solltest Du etwas mehr Kontext 
liefern, wie Betriebssystem, Sprache und Anforderungen.

Grüsse,
René

von Daniel A. (daniel-a)


Lesenswert?

sed:
1
daniel@Daniels-Surface-Pro-3:~$ echo '<input value="1" />' | sed 's/.*value="\([^"]*\)".*/\1/'
2
1

js:
1
'<input value="1" />'.match(/value="([^"]*)"/)[1]

von Ronja (Gast)


Lesenswert?

Hi,

René H. schrieb:
> Vielleicht solltest Du etwas mehr Kontext
> liefern,

ich möchte php benutzen - preg_match_all

von Dirk D. (dicky_d)


Lesenswert?

Das sicher mit regex zu machen ist fast unmöglich, zumindest wenn du 
deine Eingabewerte nicht unter Kontrolle hast.
Wenn du weist das deine werte wenigstens richtig encodieren, also ein " 
im wert nicht mit \" sondern mit &quot; kommst du mit:

/value=("|')(.*?)\1/m

relativ weit.
das berücksichtigt auch fälle wie:

value='3'

wenn du nur value="" in input's haben willst:

/<input[^>]+value=("|')(.*?)\1[^>]+>/m

wobei ich da ggf. eher

/<input[^>]+value=("|')(.*?)\1[^>]+>/mi

verwenden würde.
bedenke das du das hinterher wahrscheinlich noch durch 
html_entity_decode() durchschieben willst.

Andersrum, was spricht gegen ein DOMDocument und XPath?

von Ronja (Gast)


Lesenswert?

ist gelöst, Danke an alle

von Ronja (Gast)


Lesenswert?

Dirk D. schrieb:
> Andersrum, was spricht gegen ein DOMDocument und XPath?

ist kein html

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.