php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.12.2005, 20:44  
Gast
 
Beiträge: n/a
Standard RegEx findet Stringvorkommen nicht

Wie die Headline schon aussagt finde ich den Fehler in meinem RegEx nicht. Ich versuche innerhalb der Ausgabe des Kommandos "arp -a" zu prüfen ob eine MAC Adresse mehr als 1x vorkommt.

Das tolle ist so wie ich mir das vorgestellt habe bekomme ich das nicht selektiert.

Mein Ursprungscode sieht so aus:

PHP-Code:
<?php
$strArpCacheOutput 
exec("arp -a");

if (
ereg("[a-zA-Z0-9]{2}-[a-zA-Z0-9]{2}-[a-zA-Z0-9]{2}-[a-zA-Z0-9]{2}-[a-zA-Z0-9]{2}-[a-zA-Z0-9]{2}"$strArpCacheOutput) == true)
{
    print(
"gültig");
}
else
{
    print(
"ungültig");
}
?>
Soweit so gut. Damit findet er eine MAC Adresse schonmal.
Dann habe ich den RegEx in "( RegEx ){1}" geklammert was aber net funktionieren will, bzw. nicht das ergebnis liefert was ich mir erwarte:

PHP-Code:
<?php
$strArpCacheOutput 
exec("arp -a");

if (
ereg("([a-zA-Z0-9]{2}-[a-zA-Z0-9]{2}-[a-zA-Z0-9]{2}-[a-zA-Z0-9]{2}-[a-zA-Z0-9]{2}-[a-zA-Z0-9]{2}){1}"$strArpCacheOutput) == true)
{
    print(
"gültig");
}
else
{
    print(
"ungültig");
}
?>

Falls wer fit in RegEx ist kann er mir bitte helfen.

Danke schon einmal im vorraus.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.12.2005, 21:10  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Habs getestet, "arp -a" geht garnicht, eine MAC-Adresse wird erkannt, von beiden.

Was steht denn konkret in $strArpCacheOutput?
Zergling-new ist offline  
Alt 08.12.2005, 21:12  
Gast
 
Beiträge: n/a
Standard

Vieleicht:

PHP-Code:
<?php
error_reporting
(E_ALL);

$TXT = <<<EOD
Schnittstelle: 192.168.1.199 --- 0x10003 
  Internetadresse       Physikal. Adresse     Typ 
  192.168.1.1           00-40-01-51-cd-c8     dynamisch  

EOD;

$pattern '/[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}/i';
preg_match_all($pattern$TXT$array);

echo 
'<pre>'print_r($arraytrue), '</pre>';

?>
 
Alt 08.12.2005, 21:17  
Gast
 
Beiträge: n/a
Standard

Verstehe die aussage nicht so ganz von dir.
Das eine gefunden wird ist mir klar. Ich will allerdings das der Ausdruck nur dann true ist wenn wenn die MAC Adresse auch nur max. 1x vorkommt. niedriger, also gar kein vorkommen oder mehrere verschiedene sind sollen somit auch wahr sein.

Was meinst du mit "arp -a" geht nicht? evtl. innerhalb deines %path% net c:\windows\system32 enthalten?
 
Alt 08.12.2005, 21:22  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von arp -a
Keine ARP-Einträge gefunden.
Außerdem, warum immer alles in einen Ausdruck drücken, wenns in wenigen kompakten auch geht??

preg_match_all() und substr_count helfen doch vielleicht schon...
Zergling-new ist offline  
Alt 08.12.2005, 21:25  
Gast
 
Beiträge: n/a
Standard

@ CIX88:
Diese Erweiterung mit dem / Regex /i ist mir ganz neu aber führt schonmal zu einem sehr guten zwischen ergebnis, damit kann ich so schonmal weiter arbeiten!

Super und vielen dank!!!
 
Alt 08.12.2005, 21:52  
Gast
 
Beiträge: n/a
Standard

Geht auch:

'/([0-9a-f]{2}-){5}[0-9a-f]{2}/i'

Jetzt brauchst du nur noch überprüfen, ob dieses Ergebnis mehrmals vorkommt.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Array sortieren mit regex Lupi PHP Tipps 2008 3 21.07.2008 15:17
Regex: Auslesen der Meta-Tags einer Webseite Sucheingrenzung pepe24 PHP Tipps 2008 12 31.05.2008 15:41
2 Regex in PHP kompatible Syntax übersetzen NoiZy PHP-Fortgeschrittene 6 07.04.2008 09:04
Regex Link Problem Broadcast PHP Tipps 2008 2 29.02.2008 16:30
Gierig/nicht gieriger Regex Papst PHP Tipps 2008 22 02.12.2007 20:15
[gelöst :D ] regex tuts nur einmal pro zeile notyyy PHP Tipps 2008 17 24.09.2007 15:40
RegEx für Mail-Adresse (Bitte prüfen!) vollkommenegal PHP Tipps 2006 13 20.11.2006 20:02
Code optmierung durch regex Spyker PHP Tipps 2006 14 23.05.2006 11:12
RegEx kürzen HStev PHP Tipps 2006 5 16.02.2006 15:44
habe ein paar fragen zu REGEX imported_kremser PHP Tipps 2006 11 31.01.2006 15:30
Allgemeine RegEx Frage PHP Tipps 2005-2 10 05.07.2005 13:43
Mit RegEx auslesen - Hilfe beinm RegEx Monty77 PHP-Fortgeschrittene 6 09.06.2005 14:34
RegEx auf starkes passwort und erlaubte zeichen prüfen GothicFiction PHP-Fortgeschrittene 4 10.04.2005 21:10
RegEx? DerDesian PHP Tipps 2005 2 08.03.2005 12:57
Regex für attribute in quelltexten robo47 PHP Tipps 2005 6 27.01.2005 18:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
regex bis zum nächsten vorkommen, regex macadresse, php regexp mac adresse, regex mehrfach vorkommen suchen, regex darf nicht vorkommen, regex mehrfach, php regex mac address, http://www.php.de/php-tipps-2007/34614-regex-findet-stringvorkommen-nicht.html, string was nicht vorkommen darf php regex, mehrfaches vorkommen regular expression, regex mehrmals, regex string darf nicht vorkommen, regular expressions 2tes vorkommen, regex string darf nur einmal vorkommen, jedes vorkommen regex, adresse mac javascript regex, regex nach erstem vorkommen, regexp \nächsten vorkommen\, php arp mac, php exec arp

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:53 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.