Chcę w słowniku znaleźć wyrazy zaczynające się z dużej litery
np takie jak:
Ząbek
Żabka
Żłobek
Żrący
Jakie powinno być polecenie w RegExp?
już mam \b[A-Z]|[ĄĆĘŁŃÓŚŹŻ]
Chcę w słowniku znaleźć wyrazy zaczynające się z dużej litery
np takie jak:
Ząbek
Żabka
Żłobek
Żrący
Jakie powinno być polecenie w RegExp?
już mam \b[A-Z]|[ĄĆĘŁŃÓŚŹŻ]
|
||
|
|
W notepad++ oba znajdują po 4 wyrazy (może trochę głupieją w innych językach niż PHP).
Widać to drugie nie może działać.
to: \b[A-Ż][a-ż]+
zaznacza również np. wieża http
a jak ma wyglądać polecenie dla wyrazów
zaczynających się z dużej litery,
cz w środku
i nie może kończyć się na “a”.
np. Podręcznik
a Paczka już nie.
PS. używam edytor AkelPad, ale to chyba nie ma znaczenia.
https://regex101.com/r/HrBHpF/2/
\b[A-ZĄĆĘŁŃÓŚŹŻ][a-ząćęłńóśźż]+[^a\s]\b
https://regex101.com/r/HrBHpF/3/
\b[A-ZĄĆĘŁŃÓŚŹŻ][a-ząćęłńóśźż]+[b-ząćęłńóśźż]\b
Paczka jest pomijana. OK
ale, to też zaznacza chociaż nie ma “cz”
Wisząc
Zaszyć
Żłobiąc
Żółw
https://regex101.com/r/1EjHjM/5
\b[A-Ż]*cz[a-ż]*[^a\s]\b
Teraz działa mi wykluczanie AkelPad (bardzo ciekawe) - widać składni poprzedniej nie tolerował chyba wtedy jeszcze nie przestawiłem by szukał od nowa (początku pliku / wprowadzonego tekstu).
https://regex101.com/r/1EjHjM/6
\b[A-Ż]*cz[a-ż]*[b-ż]\b
zaznacza również z małej litery:
początek
kończy
+++++++++++++++++
te powinno zaznaczyć:
Początek
Podręcznik
Żaczek
a te już nie:
kończy
początek
podręcznik
paczka
Paczka
żaczek
żaczka
Żaczka
https://regex101.com/r/IgJNni/4
\b([A-ZĄĆĘŁŃÓŚŹŻ]+[a-ząćęłńóśźż]*)(cz)([a-ząćęłńóśźż]*[^a\s])\b
https://regex101.com/r/BUsRNX/4
\b[A-ZĄĆĘŁŃÓŚŹŻ]+[a-ząćęłńóśźż]*(cz)[a-ząćęłńóśźż]*[b-ząćęłńóśźż]\b
Poprawka #3 bo nie znajdowało “Podręcznikówę
” (chodziarz to wyraz z błędem).
Dzięki, oba polecenia są dobre.
Nie idzie je złamać
jedynie tylko znaki plus można wyeliminować.
PS a te zz w poleceniu musi być?
Nie musi - koślawe kopiowanie po odkryciu że zakresy Ą-Ź / ą-ż są za szerokie.
Mam banalny problem.
Jak wynajdywać wszystkie wyrazy składające się z 2 lub jednej litery?
(\b[A-Za-z][A-Za-z]\b)|(\b[A-Za-z]\b)
Rozszerzyć o polskie znaki też można by znajdowało “ją” / “są” itd. - na razie tego nie dopracowałem.
A przynajmniej by nie zaznaczało z takiego wyrazu pierwszej litery.
(^[A-ZĄĆĘŁŃÓŚŹŻ][a-ząćęłńóśźż]\b)|(^[A-ZĄĆĘŁŃÓŚŹŻ]\b)
chyba to działa, dzięki
http://regexstorm.net/tester
ś
śą
śa
łam
Ż
ż
ńa
ńą
Ćm
Ćma