首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Regex UTF-8语法错误

Python Regex UTF-8语法错误
EN

Stack Overflow用户
提问于 2017-05-16 14:15:40
回答 2查看 826关注 0票数 0

我一直在努力清理一些短信。但被困在regex上,终于和re.sub混在了一起。但最终导致语法错误。原始守则:

名称清除测试

代码语言:javascript
复制
import re

input = u'CHEZ MADU 東久留米店(シェマディ)【東京都東久留米市】'

pattern = re.compile(ur'(【(.*?)\】)', re.UNICODE)\

print(re.sub(input, pattern, ''))

给了我这个错误:

代码语言:javascript
复制
  File "retest01.py", line 6
    pattern = re.compile(ur'(【(.*?)\】)', re.UNICODE)\
                                      ^
SyntaxError: invalid syntax

我一直在测试另一个regex线程的代码:带有utf8问题的python正则表达式

它也犯了同样的错误。这里问题的根源是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-16 14:24:39

如果不使用原始字符串表示法,对我来说很好。此外,我认为您没有正确地使用re.sub

re.sub(pattern, repl, string, count=0, flags=0)

这并没有给我带来什么错误:

代码语言:javascript
复制
import re
input = u'CHEZ MADU 東久留米店(シェマディ)【東京都東久留米市】'
pattern = re.compile(u'(【(.*?)\】)', re.UNICODE)
print(re.sub(pattern, '', input))

这适用于python 2和3,但您不需要在3上使用unicode说明符。

票数 1
EN

Stack Overflow用户

发布于 2017-05-16 17:26:22

自Python3.3以来,ur'....'语法是无效的(参见http://bugs.python.org/issue15096 )

语法错误,令人惊讶的是,在字符串的末尾.

代码语言:javascript
复制
>>> ru'my string'
  File "<stdin>", line 1
    ru'my string'
                ^
SyntaxError: invalid syntax

因此,在Python 3中,您可以使用以下任何一种:

  • 'my string'u'mystring',意思相同(为了与Python2代码兼容,在Python3.3中重新引入了后者,参见佩普414 )
  • r'my string with \backslashes'表示“原始”字符串。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44003987

复制
相关文章

相似问题

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