В java я могу использовать регулярное выражение: \p{Sc}
для обнаружения символа валюты в тексте. Что эквивалентно в Python?
Что такое регулярное выражение для символа валюты?
Ответ 1
Вы можете использовать категорию юникода, если используете regex
пакет:
>>> import regex
>>> regex.findall(r'\p{Sc}', '$99.99 / €77') # Python 3.x
['$', '€']
>>> regex.findall(ur'\p{Sc}', u'$99.99 / €77') # Python 2.x (NoteL unicode literal)
[u'$', u'\xa2']
>>> print _[1]
¢
UPDATE
Альтернативный способ: unicodedata.category
:
>>> import unicodedata
>>> [ch for ch in '$99.99 / €77' if unicodedata.category(ch) == 'Sc']
['$', '€']
Ответ 2
Если вы хотите придерживаться re, поставьте символы из Sc вручную
u"[$¢£¤¥֏؋৲৳৻૱௹฿៛\u20a0-\u20bd\ua838\ufdfc\ufe69\uff04\uffe0\uffe1\uffe5\uffe6]"
сделает.