Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Wyrażenie regularne
spenalzo
post 11.11.2003, 02:58:28
Post #1





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

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


Hm..
Trafiłem na niezłą zagwozdke - powiedzmy że chce sprawdzić czy jakiś warunek pasuje do podanych zmiennych, np.
[php:1:3f520c7c7b]<?php
$ks="speniu";
$ip="80.50.89.141";
?>[/php:1:3f520c7c7b]
i teraz przydałoby się takie wyrażenie regularne, które dla takich np. wartości zwracałoby true lub false
Kod
s?en?u@80.5?.* // TRUE

*!*spe?questionmark.gif?@* // FALSE

*@80.5?.?9.1?1 // TRUE

czyli jednym słowem, czy dana maska może pasować do danych zmiennych.

uf, ale zakręciłem. rolleyes.gif


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

Go to the top of the page
+Quote Post
evo
post 11.11.2003, 10:36:48
Post #2





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 4.02.2003

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


8O :? ja tu nie widze zadnego schematu, systemacznosci :?:
Go to the top of the page
+Quote Post
dooshek
post 11.11.2003, 12:02:54
Post #3





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Trójmiasto

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


Cytat
Hm..
Trafiłem na niezłą zagwozdke - powiedzmy że chce sprawdzić czy jakiś warunek pasuje do podanych zmiennych, np.
[php:1:a05005b612]<?php
$ks="speniu";
$ip="80.50.89.141";
?>[/php:1:a05005b612]
i teraz przydałoby się takie wyrażenie regularne, które dla takich np. wartości zwracałoby true lub false
Kod
s?en?u@80.5?.* // TRUE

*!*spe?questionmark.gif?@* // FALSE

*@80.5?.?9.1?1 // TRUE

czyli jednym słowem, czy dana maska może pasować do danych zmiennych.

uf, ale zakręciłem. rolleyes.gif


Yhmm, moze napisz co chcesz zrobic...


--------------------
"Use the force - read the source"
Go to the top of the page
+Quote Post
spenalzo
post 11.11.2003, 14:23:57
Post #4





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

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


Mam dwie zmienne:
[php:1:337fed09c3]<?php
$ks="speniu";
$ip="80.50.89.141";
?>[/php:1:337fed09c3]

Kod
s?en?u@80.5?.* // TRUE

*!*spe?questionmark.gif?@* // FALSE

*@80.5?.?9.1?1 // TRUE


Chciałbym znaleźć czy taka maska może się pojawić i jeżeli tak, to wyciągnąć ją ze stringu.


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

Go to the top of the page
+Quote Post
BzikOS
post 11.11.2003, 15:01:52
Post #5





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Cytat
Yhmm, moze napisz co chcesz zrobic...

Spenalzo chce napisać wyrażenie, które będzie sprawdzało, czy adres speniu@80.50.89.141 będzie pasował do różnych wariantów masek. Czyli coś takiego:

[php:1:a67d9e7a2f]<?php
$adres = "speniu@80.50.89.141";
$maska = "s?en?u@80.5?.*";

$rezultat = preg_match($adres, $maska);
?>[/php:1:a67d9e7a2f]

No i oczywiście maska musi być odpowiednio przygotowana w krzaczki wyrażeń regularnych, które tylko adwol rozumie tongue.gif
Go to the top of the page
+Quote Post
evo
post 11.11.2003, 15:29:25
Post #6





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 4.02.2003

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


no i w czym problem? w wyrazeniu? przeciez je ma...bo jesli chce inne to niech schemat poda
Go to the top of the page
+Quote Post
spenalzo
post 11.11.2003, 15:31:30
Post #7





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

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


Cytat
no i w czym problem? w wyrazeniu? przeciez je ma...bo jesli chce inne to niech schemat poda

Mam tylko numer IP i ksywke - i chce sprawdzić czy dane IP i ksywa pasuje do danej maski, takiej jak na przykładzie powyżej.


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

Go to the top of the page
+Quote Post
adwol
post 11.11.2003, 23:51:03
Post #8





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Co, robisz tuning bota? winksmiley.jpg
Zainteresuj się funkcją fnmatch. Ona dopasowuje łańcuchy w/g regexpów shellowych (czyli takich jak są m.in. w ircu). W komentarzach jest też funkcja, która przerabia takie regexpy na perlowe.
Go to the top of the page
+Quote Post
spenalzo
post 11.11.2003, 23:56:46
Post #9





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

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


Cytat
Co, robisz tuning bota? winksmiley.jpg

Ależ skąd laugh.gif tongue.gif
Cytat
Zainteresuj się funkcją fnmatch.

No niestety - php 4.3.0 sad.gif


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

Go to the top of the page
+Quote Post
adwol
post 12.11.2003, 00:01:42
Post #10





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
No niestety - php 4.3.0 sad.gif

A ta funkcja do przerabiania regexpoów shellowych na perlowe też Ci nie odpowiada?

Poza tym, chyba najwyższy czas zrobić upgrade. 4.3.x już jest chyba na tyle długo, że można je uznać za stabilne.
Go to the top of the page
+Quote Post
s_w_ir
post 12.11.2003, 00:03:18
Post #11





Grupa: Zarejestrowani
Postów: 315
Pomógł: 1
Dołączył: 6.08.2003
Skąd: Kielce

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


Chwila nie wiem czy dobrze kapuje, ale jeśli tak to nie moż na by tego wpakopwać do funkcji i napisać kilka wyrażeń warunkowych każda z innaczej sprawdzająca[php:1:a3ff226940]<?php
function cosi(){
if(ereg(kod)) echo "$kod";
if(ereg(kod)) echo "$kod";
if(ereg(kod)) echo "$kod";
}
?>[/php:1:a3ff226940]
Go to the top of the page
+Quote Post
BzikOS
post 12.11.2003, 00:05:52
Post #12





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Można by, ale jest ogromna liczba możliwości. A przecież od tego są regexpy (jesli się je umie).
Go to the top of the page
+Quote Post
s_w_ir
post 12.11.2003, 00:13:56
Post #13





Grupa: Zarejestrowani
Postów: 315
Pomógł: 1
Dołączył: 6.08.2003
Skąd: Kielce

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


Myślałem że chodzi tylko o te trzy możliwości a o tych regexpach to wogóle nie słyszałem:)
Go to the top of the page
+Quote Post
spenalzo
post 12.11.2003, 00:20:08
Post #14





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

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


regexp = regular expressions = wyrażenia regularne


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

Go to the top of the page
+Quote Post
s_w_ir
post 12.11.2003, 00:22:13
Post #15





Grupa: Zarejestrowani
Postów: 315
Pomógł: 1
Dołączył: 6.08.2003
Skąd: Kielce

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


A ja już myślałem że będe mógł się nauczyć nowych zakręconych funkcji:) Kurcze...
Go to the top of the page
+Quote Post
BzikOS
post 12.11.2003, 00:40:20
Post #16





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


OK, chyba się udało biggrin.gif

[php:1:a4396f5cf2]<?php
$adres = "nick@212.55.45.2";
$maska = "*!*nick@80.questionmark.gif.45.*";

print(preg_match(toPreg($maska), $adres));

function toPreg($maska) {
$tempArr1 = Array('.', '*!*', '*', '?');
$tempArr2 = Array('.', '*', '.*', '.');

$maska = str_replace($tempArr1, $tempArr2, $maska);
Return '/^' . $maska . '$/i';
}
?>[/php:1:a4396f5cf2]
Go to the top of the page
+Quote Post
s_w_ir
post 12.11.2003, 00:42:37
Post #17





Grupa: Zarejestrowani
Postów: 315
Pomógł: 1
Dołączył: 6.08.2003
Skąd: Kielce

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


Wiem że nic nie wiem, ale gdzie tu jest jakieś wyrażenie regularne? no chyba że ten preg...
Go to the top of the page
+Quote Post
FiDO
post 12.11.2003, 00:43:37
Post #18





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


funkcja toPreg() takowe zwraca
Go to the top of the page
+Quote Post
s_w_ir
post 12.11.2003, 00:46:34
Post #19





Grupa: Zarejestrowani
Postów: 315
Pomógł: 1
Dołączył: 6.08.2003
Skąd: Kielce

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


okej to ja się poducze a narazie nie przeszkadzam w poważnych kodach.
Go to the top of the page
+Quote Post
evo
post 12.11.2003, 08:51:42
Post #20





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 4.02.2003

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


Cytat
Mam tylko numer IP i ksywke - i chce sprawdzić czy dane IP i ksywa pasuje do danej maski, takiej jak na przykładzie powyżej.


ok. Jasne.

Wiec napisz jak ma ta maska wygladac! najakich warunkach ma sie opierac winksmiley.jpg
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Wersja Lo-Fi Aktualny czas: 13.08.2025 - 22:36