# import re
# import pandas as pd
# pat (字母数字-)以外的任何(字符串)
# 根据pat 分割字符串
def myfun(pat: str, string = r'12-en中文'):
lis = re.split(pat, string)
ser = pd.Series(string).str.split(pat)
display(lis, pd.DataFrame(ser))
myfun(r"[^a-zA-Z0-9-]+") # 都可以剔除中文
myfun(r"[^\w\d-]+") # 都不能剔除中文
# 原因:
# \w 与[a-zA-Z0-9_] 区别在于 \w 匹配了unicode字符 包含中文!
# \w\d 不包含下划线 等于 [a-zA-Z0-9]+
破案!
标签:中文,pat,unicode,zA,pd,Z0,string From: https://blog.51cto.com/u_16055028/9218470