phpbar.de logo

Mailinglisten-Archive

[php] Reg-Echse

[php] Reg-Echse

Michael Fuhrmann technik at piaunddirk.de
Mi Sep 18 16:01:47 CEST 2013


Hallo Steffen,

ich teste bei sowas immer auf ein Tennzeichen. Irgendetwas steht immer davor
oder dahinter und begrenzt somit den Bereich.
[^a-z0-9][0-9.,]+(t/kg/g)[^a-z]

Und das ist bei Folgen ganz nett :)
([0-9.,]+(t/kg/g)[^a-z0-9])+

Es kommt halt auf das Format der Eingabe an. Gib mal mehr Livedata, um
etwaige Querschläger zu erkennen. Bedenke, auch dass nicht alles mit Regs
geht. Manchmal muss mal durchaus zu IFs und Konsorten greifen, weil die
Dateieingabe per Hand einem das ganze schöne System zu nichte macht.

Das Testen des Zahlenformats würde ich nicht unbedingt in den ersten Reg
nehmen. Eine spätere Schleife mit einem preg_match() macht eine
Fehlerbehandlung leichter.


Gruß
Micha

-----Ursprüngliche Nachricht-----
Von: php [mailto:php-bounces at lists.phpbar.de] Im Auftrag von Steffen Kother
Gesendet: Mittwoch, 18. September 2013 13:16
An: php at phpbar.de
Betreff: [php] Reg-Echse

Hallo Leute,
 
ich benötige seit ewiger Zeit mal wieder eure Hilfe. Mit einem
preg_match_all() und Pattern
"°((\d{0,3})*(\.?\d{1,3})*(\,?\d{1,2})?)\s*(".$MEs.")°i" hole ich Mengen und
deren Einheiten aus einem Feld. Ja, hätte ich früher mal lieber getrennt
erfasst und gespeichert. Die Überarbeitung ist angedacht.

Dabei ist

$MEs = join('|', $ME);

und enthält alle möglichen Mengeneinheiten, bspw. kg, t, to usw.

Jetzt gibt es dabei zwei Probleme:

Problem 1: in "4 Paletten ca. 2t" findet er sowohl 2x "t" als auch "2t"
Problem 2: in "410tex 4486kg/600tex5230kg/900tex9303kg" findet er natürlich
auch "410t", was aber nicht gewollt ist.

Für Problem 1 habe ich eine Variablenumwandlung und -prüfung, die mir
"leere" MEs unterbindet. Könnt ihr mir bei Problem 2 helfen? Das lässt sich
doch sicher im Pattern realisieren, oder? Vielleicht hat der eine oder
andere doch noch eine Option für Problem 1.
-- 
Vielen Dank füre eure Hilfe,

Steffen
-- 
** Allgemeine deutschsprachige PHP-Liste: php at lists.phpbar.de **
Informationen: http://www.phpbar.de
http://lists.phpbar.de/cgi-bin/mailman/listinfo/php



Mehr Informationen über die Mailingliste php

php::bar PHP Wiki   -   Listenarchive