首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带方括号的python 3正则斜杠

带方括号的python 3正则斜杠
EN

Stack Overflow用户
提问于 2017-12-27 23:10:31
回答 1查看 116关注 0票数 0

我想在Python3中找到表情符号,然后我打印出我的字符串是\ud83d\ude0a

我可以通过re.compile(r'(\\ud83d\\ude0a)')找到它

但是当我想使用方括号来查找如\ud83d[\ude00-\ude4f]

我写了这个re.compile(r'(\\ud83d([\\ude00-\\ude4f]))');

而只是在\ud83d\ude0a中映射ude0a

我的整个代码

代码语言:javascript
复制
str = '\\ud83d\\ude0a'
print(str)
emoji_pattern = re.compile(r'(\\ud83d([\\ude00-\\ude4f]))');
# emoji_pattern = re.compile(r'(\\ud83d\\ude0a)');
print(emoji_pattern.sub(r'', str))
EN

回答 1

Stack Overflow用户

发布于 2017-12-28 00:57:16

问题出在你使用方括号的方式。

方括号用于从括号中的字符中选择单个字符。因此,当您编写[\\ude00-\\ude4f]时,它将只被转换为其中的一个字符(例如,\\ud0等),而不是您希望的那样,从\ud83d\ude00转换为\ud83d\ude4f

要解决此问题,请尝试使用(\\ud83d(\\ude[0-4][0-9a-f]))。它将找到字符的序列\ud83d\ude,然后在04的范围内,然后是09af的序列中的一个字符。因此,这将检测到所需的序列,并可以检查here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47994441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档