python re.split给了我意想不到的性格

时间:2017-08-08 07:39:28

标签: python

sent = r'下列函数中,值域是(0,+\\infty )的共有( )‎'
res = re.split(r'(\([^()]*?[\u4e00-\u9fa5]+[^()]*?\))', sent)
print(res)

['下列函数中,值域是(0,+\\\\infty )的共有( )\u200e']

为什么结果中有\ u200e字符?

1 个答案:

答案 0 :(得分:3)

因为您的输入具有该字符:

>>> sent
'下列函数中,值域是(0,+\\\\infty )的共有( )\u200e'

我所做的只是将你的样本第一行复制到我的控制台,然后回显结果。

这是一个U+200E LEFT-TO-RIGHT MARK codepoint,用于控制多脚本文字中的文字方向,请参阅Wikipedia