Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Poczatki wyrazen regularnych
Marusz
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 16.05.2003
Skąd: POLAND

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
dob
post
Post #2





Grupa: Zarejestrowani
Postów: 166
Pomógł: 0
Dołączył: 30.01.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
spenalzo
post
Post #3





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


php Pocz. => php


--------------------

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 10:52