Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]wyrażenia regularne - odrzucenie wyników zawierających słowa
sada
post
Post #1





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

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


Witam!
Mam następujące pytanie:
Mając jakiś tekst $tx
wyrazy pożądane $p1,$p2,$p3
wyrazy niepożądane $n1,$n2,$n3

Czy jest możliwe utworzenie jednego wyrażenia regularnego, które zwróci true (1) gdy w tekście znajduje się chociaż jeden z wyrazów pożądanych i żaden z niepożądanych.
Nie mam problemu z pożądanymi, ale z niepożądnaymi krucho.
[^wyraz] taki zapis wyklucza poszczególne znaki, ale i tak w ramach "jednego miejsca na znak" w tekście



Ostatecznie zadowoliłbym się rozwiązaniem mini:
Mając jakiś tekst $tx
wyraz niepożądany $n1

zwracającym true (1) jeśli w tekście nie występuje wyraz niepożądany.


NIe chodzi mi o kompletne rozwiązanie, a tylko podanie ewentualnej konstrukcji pozwalającej na to.
Nie ważny też jest problem czy znaleziony wyraz jest wyrazem czy częścią innego wyrazu.

Pozdrawiam forumowiczów

Ten post edytował sada 16.06.2012, 11:25:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


No to jeżeli chcesz prawdziwy FULL TEXT SEARCH to może lepiej użyć jakiegoś silnika do tego przeznaczonego ? np Solr ?

Z wyrażeniami regularnymi jeżeli chodzi o te słowa to do pozytywnego to nie problem, a do przeciwieństwa to negative look ahead & look behind (google it).
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: 10.10.2025 - 15:30