Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中搜索unicode字符串_Python_Regex_Python 2.7_Unicode - Fatal编程技术网

如何在python中搜索unicode字符串

如何在python中搜索unicode字符串,python,regex,python-2.7,unicode,Python,Regex,Python 2.7,Unicode,我正在使用python搜索字符串中的一些简单西里尔文模式。我使用的模式类似于/[а-а]+/[а-а]+。当我用这个代码搜索模式时 import re re.search('/[а-я]+/[а-я]+', '/бцршб/бйцбйц') 它什么也找不到。但是当我这样写的时候 import re re.search(u'/[а-я]+/[а-я]+', u'/бцршб/бйцбйц') 它起作用了。然而,在我的例子中,模式和文本是在数据库中预定义的,所以我找不到将它们转换为Unicode

我正在使用python搜索字符串中的一些简单西里尔文模式。我使用的模式类似于
/[а-а]+/[а-а]+
。当我用这个代码搜索模式时

import re
re.search('/[а-я]+/[а-я]+', '/бцршб/бйцбйц')
它什么也找不到。但是当我这样写的时候

import re
re.search(u'/[а-я]+/[а-я]+', u'/бцршб/бйцбйц')

它起作用了。然而,在我的例子中,模式和文本是在数据库中预定义的,所以我找不到将它们转换为Unicode字符串的方法。在这种情况下,解决方案是什么。任何帮助都将不胜感激

谢谢大家。它在解码字符串时工作。因此,代码如下所示:

import re 
pattern = '/[а-я]+/[а-я]+'.decode('utf-8') 
text = '/йцбйц/бйцбц'.decode('utf-8') 
re.search(pattern, text)

“存储中预定义”是什么意思?请发布一个完整、简短的程序来演示您遇到的问题。@jwodder您可以尝试在字符串上使用
decode()
,它将为您提供
AttributeError:“str”对象没有属性“decode”
@Anand:实际上您描述的行为是Python 3,其中“str”已经是unicode对象。谢谢大家。它在解码字符串时工作。代码如下:import-re-pattern='/[а-а]+/[а-а]+'.decode('utf-8')text='/аааааааааааааааааа。