Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyrażenie regularne - dzielenie zdań
Forum PHP.pl > Forum > Przedszkole
sannin
Cześć,

chcę podzielić tekst na zdania. Ogólnie moja reguła działa dobrze tylko problem jest ze zdaniem tego typu:
Cytat
Pojawiła się mało popularna hipoteza, że lata 80. X wieku spędził na dworze swojego wuja.

Po 80. X nie powinno dzielić zdania. Próbowałem rozwiązać to w ten sposób, że po kropce muszą być co najmniej dwa znaki, ale mi nie wychodzi.
Kod
"(?<=['""A-Za-z0-9\)][\.\!\?\s])[\s\n]+(?=[A-Z])"

Kombinowałem z {2} ale nie daje to efektu.
Otto
explode()
sannin
Chyba nie przeczytałeś mojej wypowiedzi...
wNogachSpisz
Cholernie trudne sobie zadanie obrałeś.

Moge z palca wymienić tysiące sytuacji w których żaden algorytm nie będzie w stanie rozpoznać
czy dana ktopka to koniec zdania czy może tylko grymas redaktora...

Chyba że chcesz parsować tylko "równe" teksty..
w ów czas możemy spóbować coś wyrzeźbić..
sannin
Ponownie wracam do tematu, mam wyrażenie regularne, ale coś jest nie tak
Cytat
(?<=['""A-Za-z0-9\)\]][\.\!\?\n])[\s+]*(?=[A-Z])

i teraz mam tekst
Cytat
Litwo! Ojczyzno moja! ty jesteś jak zdrowie.
Ile cię trzeba cenić, ten tylko się dowie,
Kto cię stracił. Dziś piękność twą w całej ozdobie
Widzę i opisuję, bo tęsknię po tobie.

Panno Święta, co jasnej bronisz Częstochowy
I w Ostrej świecisz Bramie! 2 Ty, co gród zamkowy
Nowogródzki ochraniasz z jego wiernym ludem!
Jak mnie dziecko do zdrowia powróciłaś cudem
(Gdy od płaczącej matki pod Twoją opiekę
10 Ofiarowany, martwą podniosłem powiekę
I zaraz mogłem pieszo do Twych świątyń progu
Iść za wrócone życie podziękować Bogu),
Tak nas powrócisz cudem na Ojczyzny łono.

to powinien rozbić na osobne 4 zdania
Cytat
Jak mnie dziecko do zdrowia powróciłaś cudem
(Gdy od płaczącej matki pod Twoją opiekę
10 Ofiarowany, martwą podniosłem powiekę
I zaraz mogłem pieszo do Twych świątyń progu

ale tego nie robi i za nic nie wiem dlaczego?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.