请教如何不用中间变量得到匹配的值

flypuma 2007-03-12 11:37:44
先说perl里面的实现

print $1 if $out=~/(\n[-]+\n\s+
  • +\s+\d+\s+FALSE.*?\n\n
  • )/sg;

    在python里面似乎只能这样:
    m=re.search('(\n[-]+\n\s+
  • +\s+\d+\s+FALSE.*?\n\n
  • )',out,re.M)
    if m:
    print m.group(0)

    这里需要一个中间变量m ,求一个不用中间变量的写法。(当然写2次 re.search的就算了)
...全文
240 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
flypuma 2007-10-23
  • 打赏
  • 举报
回复
当然我简化了,只是回答了怎么不用中间变量m而已。实际上使用时候需要用 try except在检查例外
iambic 2007-10-23
  • 打赏
  • 举报
回复
你这种方法我不是很喜欢,因为没有检查匹配失败。
flypuma 2007-10-23
  • 打赏
  • 举报
回复
怎么结贴啊
flypuma 2007-10-23
  • 打赏
  • 举报
回复
我自己来回答吧,呵呵,其实很简单:
re.search( "(\n[-]+\n\s+
  • +\s+\d+\s+FALSE.*?\n\n
  • ) ",out,re.M).group(0)

    谢谢
iambic 2007-03-12
  • 打赏
  • 举报
回复
一种语言有一种语言的性格,有这么个东西不是坏事。
flypuma 2007-03-12
  • 打赏
  • 举报
回复
真的没答案么

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧