Python论坛  - 讨论区

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

2007年05月22日 星期二 10:24

ro rosettas在gmail.com
星期二 五月 22 10:24:20 HKT 2007

hi all

我想把这样的字符串
[[ID|链接]]
替换成
链接

我现在的设想是用正则
\[\[.*\]\]
把整个字符串提出来,然后在sub第二个参数传一个函数进去对整个字符串查找替换

是否有更简单的方式呢

-- 
with kind regards

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

2007年05月22日 星期二 11:16

ro rosettas在gmail.com
星期二 五月 22 11:16:02 HKT 2007

我的代码

def r(match):
    tmpstr = match.group().strip('''[[''')
    tmpstr = tmpstr.strip(''']]''')

    tmplist = tmpstr.split('|')

    return "%s" % (tmplist[0], tmplist[1])

    re.sub('''\[\[.*\]\]''', r, '''[[ID|链接]]''')

-- 
with kind regards

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

2007年05月22日 星期二 11:53

Qiangning Hong hongqn在gmail.com
星期二 五月 22 11:53:08 HKT 2007

On 5/22/07, ro <rosettas在gmail.com> wrote:
> 我想把这样的字符串
> [[ID|链接]]
> 替换成
> 链接
>
> 我现在的设想是用正则
> \[\[.*\]\]
> 把整个字符串提出来,然后在sub第二个参数传一个函数进去对整个字符串查找替换
>
> 是否有更简单的方式呢

re.sub(r'\[\[(.+)\|(.*)\]\]', r'\2', s)

-- 
Qiangning Hong
http://www.douban.com/people/hongqn/

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号