Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Khớp ký tự non-word trong regex Python (\W)

\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