Wpis z mikrobloga

#programowanie
#regex #regexp
elo. czy jest możliwośc napisania regexpa, który wyciągnie wszystkie kombinacje występujących po sobie trzech słow minimum 2 literowych?
Przykład:
Ala ma # bardzo miłego grzecznego kota
Output:
1) bardzo miłego grzecznego
2) miłego grzecznego kota

Na ten moment mam coś takiego:
[\p{IsAlphabetic}]{2,} [\p{IsAlphabetic}]{2,} [\p{IsAlphabetic}]{2,}
ale wykryte zostaje tylko 'bardzo miłego grzecznego'
  • 8
nie. chce żeby wykrył po trzy występujące po sobie minimum 2 literowe słowa oddzielone spacją. po ala ma występuje # więc nie pasuje. powinno zwrócić 2 grupy -
1) bardzo miłego grzecznego
2) miłego grzecznego kota
@grizzly_joe: po co regexp do czegoś do czego nie jest potrzebny regex?

scala> "Ala ma # bardzo miłego grzecznego kota".split(" ").sliding(3).filter(_.forall(_.length > 2)).toList
val res5: List[Array[String]] = List(Array(bardzo, miłego, grzecznego), Array(miłego, grzecznego, kota))
@summer: który język nie ma split, join i pętli (lub odpowiedników nazwanych inaczej ale robiących to samo)? W programowaniu obowiązuje zasada, że bierze się najmniej ogólny (najsłabszy) mechanizm, który daje radę rozwiązać problem w najprostszy możliwy sposób. Druga sprawa, że nie, tego regexa nie użyjesz wszędzie, bo korzysta on z mało popularnego ficzera PCRE jakim jest lookahead. Nie każda biblioteka standardowa ma pełne regexy PCRE.