gpt4 book ai didi

python - 从具有unicode字符的字符串制作正则表达式

转载 作者:太空宇宙 更新时间:2023-11-04 03:48:40 24 4
gpt4 key购买 nike

我有一个字符串:

alphabet = unicode("abś", 'utf-8');

如何将其转换为:

"ab\\u015B";

?我试过那个代码:

al = ""
for char in alphabet:
if ord(char) > 127:
al += "\\u" + format(ord(char), 'x')
else:
al += char

但是当我想从中制作正则表达式时,它无法正确匹配字符:

abc = re.compile(u'[' + al + u']{1,}$', re.U).match

演示在这里:http://ideone.com/q55HI8

最佳答案

>>> u"abś".encode('unicode-escape')
'ab\\u015b'

我认为你不需要对原始unicode字符串进行任何转换就可以得到你想要的:

>>> abc = re.compile(u"[abś]{1,}$", re.U).match
>>> abc(u"ś")
<_sre.SRE_Match object at 0x89f31a8>
>>> abc(u"ś").group()
u'\u015b'
>>> abc(u"a").group()
u'a'
>>> abc("x") is None
True

关于python - 从具有unicode字符的字符串制作正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22428604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com