Zurück   RR:Board > Webmaster > Webentwicklung

Web-Technik: ASP, PHP, XML, Javascript, AJAX, SQL Datenbanken. Webentwicklung: CMS, Foren, Blog -Scripte.
Antwort
 
Themen-Optionen Thema durchsuchen

[PHP] - einfache Regex-Abfrage
Alt 15.11.2011, 20:35   # 1
toschk
Kabel Wurm
rot rot rot 
Bewertung:
toschk hat 200 bis 299 Punktetoschk hat 200 bis 299 Punktetoschk hat 200 bis 299 Punkte
Registriert seit: Mar 2005
Beiträge: 905
Power: 24
Hi, ich möchte per regex einen String auf Kleinbuchstaben testen.
Meine abfrage schaut wie folgt aus

PHP-Code:
preg_match('/[^a-z]*/''aaaa'$matches);
print_r($machtes); 
Leider gibt preg_match immer 1 zurück und zeigt mir dieses Ergebnis-Array an.

HTML-Code:
Array ( [0] => )
Was mache ich falsch????

Ich hasse CSS Javascript!
  toschk ist offline   Mit Zitat antworten

Alt 15.11.2011, 20:45   # 2
°EraZoR°
Outlaw Legend
blau blau blau 
Bewertung:
°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte
°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte
Registriert seit: May 2006
Internet: >=100Mbit
Beiträge: 3.127
Power: 38
PHP-Code:
<?php
preg_match
('/^[a-z]*$/''aaaa'$matches); 
print_r($matches);  
?>
Das ^ innerhalb von [] negiert den Ausdruck.. Sprich du erlaubst mit deinem Regex alles außer Kleinbuchstaben ;-)
Und um ausschließlich kleine Buchstaben in dem ganzen String zuzulassen, musste ein ^ was in dem Fall den Zeilenanfang und ein $ was das Zeilenende darstellt..

MfG



I ♥ Werder
  °EraZoR° ist offline   Mit Zitat antworten

AW: einfache Regex-Abfrage
Alt 15.11.2011, 20:52   # 3
Nanobyte
Kabel Wurm
rot rot rot 
Bewertung:
Nanobyte hat die Renommee-Anzeige deaktiviert
Registriert seit: Jan 2010
Internet: DSL2 16K
Beiträge: 710
Power: 13
Durch den * reagiert dein RegExp auch auf einen Leeren String, daher Tausche den * gegen ein +

PHP-Code:
<?php
preg_match
('/^[a-z]+$/''aaaa'$matches); 
print_r($matches);  
?>

| Sollte ich mich irren, dann schickt mir bitte eine PM ;)
  Nanobyte ist offline   Mit Zitat antworten

AW: einfache Regex-Abfrage
Alt 15.11.2011, 21:06   # 4
Murdoc
Moderator
team
Bewertung:
Murdoc hat mehr als 25.000 PunkteMurdoc hat mehr als 25.000 PunkteMurdoc hat mehr als 25.000 PunkteMurdoc hat mehr als 25.000 PunkteMurdoc hat mehr als 25.000 PunkteMurdoc hat mehr als 25.000 PunkteMurdoc hat mehr als 25.000 PunkteMurdoc hat mehr als 25.000 PunkteMurdoc hat mehr als 25.000 PunkteMurdoc hat mehr als 25.000 Punkte
Murdoc hat mehr als 25.000 PunkteMurdoc hat mehr als 25.000 PunkteMurdoc hat mehr als 25.000 PunkteMurdoc hat mehr als 25.000 Punkte
Registriert seit: Nov 2006
Internet: DSL2 16K
Beiträge: 6.163
Power: 51
mag wer benchmarken? ^^
sollte ca. 3x schneller sein

PHP-Code:
if (ctype_lower($str)) {
  
// yada yada yada


MfG Murdoc

Meins: http://murdoc.eu
  Murdoc ist offline   Mit Zitat antworten

AW: einfache Regex-Abfrage
Alt 15.11.2011, 21:07   # 5
°EraZoR°
Outlaw Legend
blau blau blau 
Bewertung:
°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte
°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte
Registriert seit: May 2006
Internet: >=100Mbit
Beiträge: 3.127
Power: 38
Zitat:
Zitat von Nanobyte Beitrag anzeigen
Durch den * reagiert dein RegExp auch auf einen Leeren String, daher Tausche den * gegen ein +

Mmh wusst ich's doch, dass das * da nicht ganz richtig ist... Aber aufs + bin ich nicht gekommen



I ♥ Werder
  °EraZoR° ist offline   Mit Zitat antworten

AW: einfache Regex-Abfrage
Alt 15.11.2011, 21:55   # 6
toschk
Kabel Wurm
rot rot rot 
Bewertung:
toschk hat 200 bis 299 Punktetoschk hat 200 bis 299 Punktetoschk hat 200 bis 299 Punkte
Registriert seit: Mar 2005
Beiträge: 905
Power: 24
Themenstarter
Ok, danke hat mir alles weitergeholfen.
Hab mich am Anfang falsch ausgedrückt da ich nicht-kleinbuchstaben-zeichen finden wollte um abzubrechen, da es mir ja ansonsten kleinbuchstaben sucht.

Ich hasse CSS Javascript!
  toschk ist offline   Mit Zitat antworten

AW: einfache Regex-Abfrage
Alt 15.11.2011, 23:14   # 7
MArc
Einer geht noch!
rot
Bewertung:
MArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 Punkte
Registriert seit: Nov 2006
Internet: >=100Mbit
Beiträge: 251
Power: 17
Zitat:
Zitat von Murdoc Beitrag anzeigen
mag wer benchmarken? ^^
Yepp,
0m0.732s zu 0m0.187s.
  MArc ist offline   Mit Zitat antworten

AW: einfache Regex-Abfrage
Alt 16.11.2011, 16:00   # 8
°EraZoR°
Outlaw Legend
blau blau blau 
Bewertung:
°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte
°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte
Registriert seit: May 2006
Internet: >=100Mbit
Beiträge: 3.127
Power: 38
Zitat:
Zitat von toschk Beitrag anzeigen
Ok, danke hat mir alles weitergeholfen.
Hab mich am Anfang falsch ausgedrückt da ich nicht-kleinbuchstaben-zeichen finden wollte um abzubrechen, da es mir ja ansonsten kleinbuchstaben sucht.
PHP-Code:
<?php
preg_match
('/^[^a-z]+$/''aaaa'$matches); 
print_r($matches);  
?>
Ist jetzt ungetestet, sollte aber funzen..
Hättest du dir auch aus meinem vorherigen Post zusammenbauen können ;-)



I ♥ Werder
  °EraZoR° ist offline   Mit Zitat antworten

AW: einfache Regex-Abfrage
Alt 16.11.2011, 18:50   # 9
Nanobyte
Kabel Wurm
rot rot rot 
Bewertung:
Nanobyte hat die Renommee-Anzeige deaktiviert
Registriert seit: Jan 2010
Internet: DSL2 16K
Beiträge: 710
Power: 13
Den Benchmark "Nativ vs. RegExp" hättest ihr euch sparen können

Wie Murdoc schon schreibt heißt die Lösung ctype_lower(), stellt man ein ! davor wird das Ergebnis umgedreht und man hat was man wollte.


PHP-Code:
<?PHP

$str 
'aaaa';

if ( !
ctype_lower($str)) {
  
// yada yada yada
}

| Sollte ich mich irren, dann schickt mir bitte eine PM ;)
  Nanobyte ist offline   Mit Zitat antworten

AW: einfache Regex-Abfrage
Alt 16.11.2011, 20:16   # 10
°EraZoR°
Outlaw Legend
blau blau blau 
Bewertung:
°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte
°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte°EraZoR° hat mehr als 25.000 Punkte
Registriert seit: May 2006
Internet: >=100Mbit
Beiträge: 3.127
Power: 38
Zitat:
Zitat von Nanobyte Beitrag anzeigen
Den Benchmark "Nativ vs. RegExp" hättest ihr euch sparen können

Wie Murdoc schon schreibt heißt die Lösung ctype_lower(), stellt man ein ! davor wird das Ergebnis umgedreht und man hat was man wollte.
Gut kann man auch machen..
Das geht jedoch nur, wenn du auch wirklich NUR Großbuchstaben haben willst und keine Sonderzeichen etc...
Oder anstatt das zu negieren, kannste auch gleich ctype_upper() nehmen..

MfG



I ♥ Werder
  °EraZoR° ist offline   Mit Zitat antworten

AW: einfache Regex-Abfrage
Alt 17.11.2011, 01:01   # 11
MArc
Einer geht noch!
rot
Bewertung:
MArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 PunkteMArc hat 1000 bis 2499 Punkte
Registriert seit: Nov 2006
Internet: >=100Mbit
Beiträge: 251
Power: 17
Zitat:
Zitat von Nanobyte Beitrag anzeigen
Den Benchmark "Nativ vs. RegExp" hättest ihr euch sparen können
Wieso? Ich hoffe Du gehst nicht davon aus, dass wir glaubten, dass Nativ nicht schneller sei. Hier geht's nur darum, /wieviel/ schneller.
  MArc ist offline   Mit Zitat antworten
Antwort

RR:Board > Webmaster > Webentwicklung > [PHP] - einfache Regex-Abfrage


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

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP] - prematch regex Decryptor Webentwicklung 4 07.04.2013 10:17
[PHP] - REGEX Url badloader Webentwicklung 3 06.09.2012 18:12
[PHP] - Einfache MYSQL Abfrage nebeneinander (Tabelle) uRph03n1x Webentwicklung 2 09.05.2012 21:00
[PHP] - RegEx Problem CraZyStoNe Webentwicklung 4 12.04.2012 16:03
[Delphi] - Regex Knusperkeks Programmierung & Entwicklung 0 03.10.2007 13:20



Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr.
vBulletin Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.