Pythonのreモジュールは、正規表現パターンをASCII文字セットに基づいて処理します。これは、通常のテキスト文字に関しては問題ありませんが、非ASCII文字(例: アクセント文字、特殊文字)を扱う場合には注意が必要です。
re.ASCIIは、\\w, \\W, \\b, \\B, \\d, \\D, \\s および \\S がASCIIのみのマッチングを行うようにします。これはUnicode(str)パターンに対してのみ意味があり、バイト(bytes)パターンでは無視されます。
Pythonの正規表現で利用できるフラグの一つであり、正規表現パターンにフラグを設定する方法は三つあります。一つ目はパターンをコンパイルするときに二番目の引数にフラグを設定する方法、二つ目はパターンを記述するときにパターンの先頭にフラグを記述する方法、三つめはパターンを記述するときに一部のパターンにだけ適用するフラグを記述する方法です。
import re
# パターンをコンパイルする時にフラグを指定する
pattern = re.compile('pattern', re.ASCII)
# パターンを記述するときにパターンの先頭にフラグを記述する
pattern = re.compile('(?a)pattern')
# パターンを記述するときに一部のパターンにだけ適用するフラグを記述する
pattern = re.compile('pattern(?a)')
以上、Pythonのre.ASCIIについての解説でした。このフラグを理解し、適切に使用することで、Pythonの正規表現の力を最大限に引き出すことができます。