python中如何从字符串内提取指定的字符
比如字符串F(a(x(b)),a(c)),depth=2时提取出List=[x(b),c]...
比如字符串F(a(x(b)), a(c)),depth=2时提取出List = [x(b), c]
展开
2个回答
推荐于2017-11-27 · 知道合伙人软件行家
老夭来了
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:1806
获赞数:8100
2008年从事软件开发,拥有多年的python,php,linux工作经验,发布过多个python,php的开源项目。
向TA提问 私信TA
关注
展开全部
# -*- coding: utf-8 -*-
import re
pattern = re.compile(r"F\(a\((.*)\), a\((.*)\)\)")
match = pattern.match("F(a(x(b)), a(c))")
ss = "List = [%s, %s]" % (match.group(1), match.group(2))
print ss
#List = [x(b), c]
如果解决了您的问题请采纳!
如果未解决请继续追问
追问
能否解释一下re.compile 和pattern.match的用法与作用?本人python小白有点看不懂。。。只知道是正则表达式
追答
如果你对re不太理解的话,建议系统的学习一下:
http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
re.compile(strPattern[, flag]):
这个方法是Pattern类的工厂方法,用于将字符串形式的正则表达式编译为Pattern对象。
第二个参数flag是匹配模式,取值可以使用按位或运算符'|'表示同时生效,比如re.I |
re.M。另外,你也可以在regex字符串中指定模式,比如re.compile('pattern', re.I |
re.M)与re.compile('(?im)pattern')是等价的。
2. Match
Match对象是一次匹配的结果,包含了很多关于此次匹配的信息,可以使用Match提供的可读属性或方法来获取这些信息。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询