\W (viết hoa) khớp một ký tự không phải word character. Word character là [a-zA-Z0-9_] (ASCII) hoặc Unicode word chars (với flag re.UNICODE).
Ví dụ
import re s = 'ab5z8d*$&Y@' regx = re.compile(r'\W') result = regx.findall(s) print(result) # ['*', '$', '&', '@']
Các ký tự a,b,5,z,8,d,Y là word char → không khớp. * $ & @ là non-word → khớp.
Ứng dụng: Tách từ giữ dấu câu
re.split(r'(\W+)', 'Hello, world!') # ['Hello', ', ', 'world', '!', ''] — giữ cả delimiter