Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrazenie regualrne, wystapienie calego zestawu znakow
Adiasz
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 28.02.2004

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


Witam!

Potrzebuje wyrazenia regularnego, ktore sprawdzi czy zestaw literek np "abcd" zawiera sie w jakims stringu. Kolejnosc nie jest wazna, wazne jest ze kazda litera wystepuje dokladnie raz.

cos ala [abcd]{4} tylko jak dodac zeby kaza literka musiala sie pojawic dokladnie raz?

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





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 28.02.2004

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


dzieki phobos
Niesety funkcja php mnie nie urzadza gdyz owy regext potrzebny mi jest zeby wstawic go do zapytania do bazy danych.
Aktualnie swoj problem rozwiazuje:
  1. <?php
  2.  
  3. /**
  4.  * Metoda wyszukuje wyrazy, ktore mozna ulozyc z liter
  5.  * 
  6.  * @param string $letters - literki
  7.  * @resurn aray of mixed - pasujace wyrazy
  8.  * @acces public
  9.  */
  10. private function searchWordByLetters( $letters ) {
  11. $letters = trim( $letters );
  12. $length = strlen( $letters );
  13.  
  14. $query = "SELECT * FROM slowa_".$length." WHERE slowo ~ '[".$letters."]{".$length."}'";
  15.  
  16. $objects = $this->conn->getAll( $query );
  17.  
  18. $lettersTable = str_split( $letters );
  19.  
  20. foreach( $objects as $key => $value ) {
  21. $resultTable = str_split( $value["slowo"] );
  22.  
  23. $diff = array_diff( $lettersTable, $resultTable );
  24.  
  25. if( count( $diff ) > 0 ) {
  26. unset( $objects[$key] );
  27. }
  28. }
  29. sort( $objects );
  30.  
  31. return $objects;
  32. }
  33. ?>

wyszukujac wszystkie slowa o dlugosci 4 zawierajace dane xxx litery a nastepnie odfiltrowywuje niepotrzebne.

Gdybym mogl od razu zawezic przedzial to wyszukanie zajeloby mi mniej czasu i uzyskalbym przy okazji nowe mozliwosci wyszukiwania
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: 12.10.2025 - 22:43