Potrzebuję rozwiązań do this question, z wyjątkiem Python! Próbowałem już zainstalować bibliotekę regex dla Pythona, as apparently, która umożliwia użycie wyrażeń POSIX w wyrażeniach regularnych Pythona, ale mimo to domyślam się, że nie zawiera znaków Unicode w klasie [:alpha:]
. Np:Jak dopasować znaki akcentowane za pomocą wyrażenia regularnego w języku Python?
>>> re.search(r'[[:alpha:] ]+','Please work blåbær and NOW stop 123').group(0)
'Please work bl'
Kiedy chcę go dopasować Please work blåbær and NOW stop
EDIT: Używam Python 2.7
EDIT 2: Próbowałem następujące:
>>> re.search(re.compile('[\w ]+', re.UNICODE),'Please work blåbær and NOW stop 123').group(0)
'Please work bl\xc3'
Nie do końca to, co chciałem (chcę dopasować część po pierwszej nie-ASCII), b ut co najmniej pasuje do postaci bardziej niż wcześniej. Co powinienem tu zrobić, aby dopasować go do reszty tego, czego chcę?
EDYCJA 3: Nie chcę dopasowywać żadnych znaków spoza "słowa"; przez "słowo" mam na myśli a-z, A-Z, spację i wszelkie akcentowane odmiany znaków słownych. Mam nadzieję, że wpadłem na swój pomysł; w zdaniu jak
lets match força, but stop before that comma
Chcę dopasować tylko lets match força
EDIT 4: Więc starałem się używać Python 3 tylko dla tego jednego skryptu:
>>> re.search(re.compile('[\w ]+', re.UNICODE),'lets match força, but stop before that comma').group(0)
'lets match força'
Chyba działa w przeważającej części w Pythonie 3, oprócz tego, że dopasowuje również liczby (których zdecydowanie nie chcę) i podkreślenia. Jakikolwiek sposób to naprawić, w Pythonie 2 lub 3?