为了账号安全,请及时绑定邮箱和手机立即绑定

请问如何在python中,使用正则表达式提取字串中第一个括号:《》中的内容?

请问如何在python中,使用正则表达式提取字串中第一个括号:《》中的内容?

DIEA 2018-07-16 09:12:21
例如从字串:「《盗梦空间》是一部科幻动作惊悚片,由美国华纳兄弟发行」提取出"盗梦空间"这个值?目前的代码:pattern = re.compile(ur"\u300A(.*?)\u300B", re.I|re.X|re.U)print(pattern.findall(字串))但看起来是没什么效果
查看完整描述

3 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

╰─$ ipython3
Python 3.4.3 (default, Oct 14 2015, 20:28:29) 
Type "copyright", "credits" or "license" for more information.

IPython 1.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: s = '《盗梦空间》是一部科幻动作惊悚片,由美国华纳兄弟发行'In [2]: import re

In [3]: re.findall(r'《(.+?)》', s)
Out[3]: ['盗梦空间']

In [4]:


查看完整回答
反对 回复 2018-07-18
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

pattern = re.compile(ur"\u300A(.*?)\u300B", re.I|re.X|re.U)for match in pattern.findall(s.decode('utf8')):
    print(match)

python的编码比java还折腾,不过python3跟java一致了,统一内部用unicode


查看完整回答
反对 回复 2018-07-18
?
12345678_0001

TA贡献1802条经验 获得超5个赞

输入的内容估计是没有转译成unicode

查看完整回答
反对 回复 2018-07-18
  • 3 回答
  • 0 关注
  • 1490 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信