我正在使用python在字符串中搜索一些简单的西里尔语模式。我使用的模式类似于/[а-я]+/[а-я]+
。当我通过此代码搜索模式时
import re
re.search('/[а-я]+/[а-я]+', '/бцршб/бйцбйц')
找不到任何东西。但是当我这样写的时候。
import re
re.search(u'/[а-я]+/[а-я]+', u'/бцршб/бйцбйц')
有效。但是在我的情况下,模式和文本是在数据库中预定义的,所以我找不到将它们转换为Unicode字符串的方法。在这种情况下,解决方案是什么?任何帮助,将不胜感激。
答案 0 :(得分:1)
谢谢你们。它在解码字符串时有效。所以代码就像:
import re
pattern = '/[а-я]+/[а-я]+'.decode('utf-8')
text = '/йцбйц/бйцбц'.decode('utf-8')
re.search(pattern, text)