What is regex for currency symbol?

If you want to stick with re, supply the characters from Sc manually:

u"[$¢£¤¥֏؋৲৳৻૱௹฿៛\u20a0-\u20bd\ua838\ufdfc\ufe69\uff04\uffe0\uffe1\uffe5\uffe6]"

will do.


You can use the unicode category if you use regex package:

>>> 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

Alterantive way using unicodedata.category:

>>> import unicodedata
>>> [ch for ch in '$99.99 / €77' if unicodedata.category(ch) == 'Sc']
['$', '€']

Tags:

Python

Regex