Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Poczatki wyrazen regularnych
Forum PHP.pl > Forum > PHP
Marusz
Witam

Jako, ze ostatnio natchnelo mnie na nauke wyrazen regularnych, mam do Panstwa kilka pytan. Na poczatku wpadlem na pomysl napisania skryptu (w necie ich akurat jest miliony, no ale jak nauka to nauka) rozpoznajacego, czy adres email jest prawidlowy. Skupilem sie na samym loginie i juz niestety powstal problem. Po wielu staraniach, metod prob i bledow, wpadlem (nie_bardzo_sam winksmiley.jpg ) na ponizsze wyrazenie:

[php:1:83a856514a]<?php

$reg = "^[[:alnum:][:digit:]]+([-._][[:alnum:][:digit:]]+)*@$";
$mail = "ma_re.k@";

?>[/php:1:83a856514a]

Wszystko sie okazuje byc wporzadku. Poprawnie rozpoznaje, czy ciag odpowiadajacy za login jest OK. Jednak w czasie pisania nie bylo tak wesolo, ciagle powstawal blad. Okazalo sie, ze problem tkwi w okresleniu dopuszczalnego znaku kropki, twardej spacji i myslnika. Teraz, wiem juz, ze powinno sie pisac: [-._], a nie [.-_] - pytanie tylko dlaczego? Czym roznia sie te dwa ciagi znakow? Pytam, gdyz wyrazenia regularne do naprostrzych nie naleza, zas blad mozna popelnic nawet w takich szczegolach.
dob
poniewaz znak - uwazany jest za znak zakresu znaków np a-z [znaki z zakresu od a do z]. Poprzedzony znakiem uwazany byłby za normalny znak.
spenalzo
php Pocz. => php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.