re.compile(“ [” ^ SyntaxError:(unicode错误)'unicodeescape'编解码器无法解码位置0-7的字节:截断的\ UXXXXXXXX转义

时间:2020-03-06 01:19:03

标签: python regex

我想运行这段代码,以便在自己的推文中获取所有快乐的表情符号。但是我出错了。我正在使用Google colab。我正在这样做。

emoji_pattern_happy = re.compile("["
                           u"\U0001F600"
                           u"\U0001F617" # emoticons
                           u"\U0001F642"
                           u"\U0001F60A" 
                           u"\U0001F60D"
                           u"\U0001236A"
                           u"\U0001F61A"
                           u"\U0001F63A"
                           u"\U0001F63B"
                           u"\U0001F61B"
                           u"\U0001F60E"
                           u"\U0001F60C"
                           u"\U0001F642"
                           u"\U0001F923"
                           u"\U0001F494"
                           u"\U00012764"
                           u"\U0001F499"
                           u"\U0001F49C"
                           u"\U0001F9OE"
                           u"\U0001F970"
                           u"\U0001F64C"
                           u"\U0001F4AF"
                           u"\U0001F91D"
                           u"\U0001F49F"
                           u"\U0002763"
                           u"\U0001F913"
                           u"\U0001F415"
                           u"\U0001F4AB"
                           u"\U0001F91F"
                           u"\U0001F44D"
                           u"\U0001F44F"
                           u"\U0001F924"
                           u"\U0001F496"
                           u"\U0001F497"
                           u"\U0001F493"
                           u"\U0001F49B"
                           u"\U0001F49A"
                           u"\U0001F920"
                           u"\U000F9E1"
                           u"\U0001F48B" 
                           u"\U0001F48C" 
                           u"\U0001F498" 
                           u"\U0001F49D"
                           u"\U0001F973"
                           u"\U0001F917"
                           u"\U0001F638"
                           u"\U0001F642" 
                           "]+", flags=re.UNICODE)

1 个答案:

答案 0 :(得分:0)

您在1u"\U0002763"中留下了u"\U000F9E1";大概是指u"\U00012763"(不确定)和u"\U0001F9E1"(似乎很可能)。 \U的转义符恰好需要八个十六进制数字。幸运的是,SyntaxError可以防止您不小心搜索一些随机的无关字符。