Что делает " (?u) " делать в регулярном выражении?

Я посмотрел, как токенизация реализуется в scikit-learn и нашел это регулярное выражение (источник):

token_pattern = r"(?u)bww+b"

регулярное выражение довольно простое, но я никогда не видел (?u) часть перед. Может кто-нибудь объяснить мне, что делает эта часть?

1 ответов


он включает re.U (re.UNICODE) флаг для этого выражения.

С документацию:

(?iLmsux)

(одну или несколько букв из набора 'i', 'L', 'm', 's', 'u', 'x'.) Группа соответствует пустой строке; буквы устанавливают соответствующие флаги:re.I (игнорировать регистр), re.L (зависит от локали), re.M (многоканальный), re.S (точка играм все), re.U (зависит от Unicode) и re.X (verbose), для всего регулярного выражения. (Флаги описаны в содержимом модуля.) Это полезно, если вы хотите включить флаги как часть регулярного выражения, вместо передачи аргументов флаг