Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyr. regularne
laq
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 19.09.2005

Ostrzeżenie: (10%)
X----


jak zapisac w wyrazeniu regularnym np. " wszystkie znaki poza "b" "?

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ghostrider
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


  1. <?php
  2. $reg = "/([^b])/";
  3.  
  4. $test = "b";
  5. $test2 = "c";
  6.  
  7. if( preg_match($reg, $test, $match1) ) echo"$test is ok<br />"; else echo "$test is nie ok<br />";
  8. if( preg_match($reg, $test2, $match2) ) echo"$test2 is ok<br />"; else echo "$test2 is nie ok<br />";
  9. ?>

tak zadziala na jednej literze, ale cos mi sie nie wydaje ze to dokladnie to czego szukasz, bo nie zadziala na wiecej niz jedej literze.

Cytat
.-b (wszystkie znaki minus "b")

to właśnie [^b]

moze napiszesz dokladnie jaki masz problem, tak latwiej szuka sie rozwiazania.

wykombionowalem cos takiego jesze:

  1. <?php
  2. $reg = "/^((?<!b)([^b]*?)(?!b))$/im";
  3.  
  4. $test = "string with b and some chars";
  5. $test2 = "string with no * and some chars";
  6.  
  7. if( preg_match($reg, $test, $match1) ) echo"$test is ok<br />"; else echo "$test is nie ok<br />";
  8. if( preg_match($reg, $test2, $match2) ) echo"$test2 is ok<br />"; else echo "$test2 is nie ok<br />";
  9. ?>


to zdaje sie spelniac twoje warunki, ale to dziwne rozwiazanie ...

Ten post edytował ghostrider 31.10.2005, 17:34:32
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 4.10.2025 - 08:25