Python论坛  - 讨论区

标题:[python-chinese] 正则问题

2007年06月28日 星期四 15:29

ro rosettas在gmail.com
星期四 六月 28 15:29:37 HKT 2007

hi all

我用以下一段代码试图从字符串中取出[[]]之间的内容
def f(m):
    print m.group(0)
    print m.group(1)
    print m.group(2)

rawstr = r"""(?P\[\[(.*?)\]\])"""
embedded_rawstr = r"""(?P\[\[(.*?)\]\])"""
matchstr = """7788[[123]]abc[[123|iii]]nnn[[456]]9900"""

re.sub(rawstr, f, matchstr)

此时我碰到一个问题,python依据什么规则分配group(n)里面的数据.
上面例子里[[]]中的内容出现在group(2).
但有些情况在相同内容应该在group(1)而group(2)不存在

-- 
with kind regards

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年06月28日 星期四 20:36

limodou limodou在gmail.com
星期四 六月 28 20:36:44 HKT 2007

On 6/28/07, ro <rosettas在gmail.com> wrote:
> hi all
>
> 我用以下一段代码试图从字符串中取出[[]]之间的内容
> def f(m):
>     print m.group(0)
>     print m.group(1)
>     print m.group(2)
>
> rawstr = r"""(?P\[\[(.*?)\]\])"""
> embedded_rawstr = r"""(?P\[\[(.*?)\]\])"""
> matchstr = """7788[[123]]abc[[123|iii]]nnn[[456]]9900"""
>
> re.sub(rawstr, f, matchstr)
>
> 此时我碰到一个问题,python依据什么规则分配group(n)里面的数据.
> 上面例子里[[]]中的内容出现在group(2).
> 但有些情况在相同内容应该在group(1)而group(2)不存在
>
按照分组的顺序。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号