![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 8.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
zwracam się do Was z prośbą o pomoc w ułożeniu instrukcji, która umożliwi mi wyszukiwanie całych słów w mojej bazie wg następującego schematu: najpierw słowa niebędące częścią wyrażeń, a dopiero potem tworzące wyrażenia. Potrzebuję tego do zapewnienia odpowiedniej kolejności wyświetlania haseł w słowniku. Problem teoretycznie jest banalny, ale niestety nie mogę znaleźć rozwiązania - szukałem po Sieci i nic... Pisząc konkretnie, chodzi o to, żeby tak zmodyfikować wyrażenie: regexp '[[:<:]]tekst[[:>:]]' (na moje potrzeby wystarcza również: regexp '[^a-z]tekst[^a-z]') żeby oddzielić przypadki, w których słowo nie jest poprzedzane przez inne słowo i żadne słowo nie następuje po nim (zamiast tego jest np. znak interpunkcyjny lub nawias zamykający/otwierający tag html) od tych , w których takie coś ma miejsce. Coś w rodzaju: regexp '[^a-z][^a-z]tekst[^a-z][^a-z]' dla opcji pierwszej oraz regexp '[a-z][^a-z]tekst[^a-z]|[^a-z]tekst[^a-z][a-z]' dla opcji drugiej, tylko że to kompletnie nie chce działać - nie wiem, jaka składnia jest prawidłowa. Próbowałem wszelkich kombinacji, np. z {2}, kropkami, przecinkami, dwukropkami i nic. Boję się powoli, że może jest to niemożliwe do zrobienia?... Ale to byłoby dziwne... Przepraszam, temat właściwie do zamknięcia, bo pewne oczywiste rzeczy pominąłem - przykłady modyfikacji, które wskazałem, jednak działają. :wstydnis: Po prostu struktura haseł sprawia, że mimo to nie jest tak, jak sobie wymarzyłem - co z tego, że szuka dwóch znaków niealfabetycznych, skoro wyraz okalają tagi, które mają litery... Kolejna próba optymalizacji wyszukiwarki spełzła na niczym, a baza ma strukturę totalnie zabałaganioną i nie da się jej prosto i szybko poprawić... Ten post edytował maciekp 8.09.2010, 19:25:41 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 07:49 |