Dieter: REGEXP

Beitrag lesen

Hallo Forumer

folgendes Problem:

ich möchte mit Hilfe eines regulären Ausdruckes feststellen ob eine Reihe von Zahlen eine 1 enthält.
Das Problem dabei ist die 1 von z.B. 10,11,100 etc. zu unterscheiden.

Ich habe nach einigem herumprobieren eine Lösung gefunden, nur erscheint sie mir etwas holzhammermäßig, ich bin mir eigentlich sicher, dass man das auch eleganter lösen kann.
Falls jemand von Euch also eine bessere Variante hat würde ich mich über eine Antwort freuen.

Anbei mein Test-Snippet (PHP)

Viele Grüße

Euer Dieter

<?php

$test=array(
 '1,2,10,11',
 '2,10,11',
 '13,2,10,11',
 '3,1,2,10,11',
 '11,10,100,101',
 '5,1',
 '1',
 '1,2'
);

foreach($test as $t){

$r=eregi('(^1$)|(^1,)|(,1$)|(,1,)',$t);

printf('Enthält %s die Zahl eins ?  %s<br>',$t,($r?'Ja ':'Nein'));
}

?>