Python正则表达式怎么提取出列表

<tr class="ListTableRowEx"  id="Row1"
onclick="javascript:setRowFocus(this,false,1);FirstDataFormat('0000008746')"
ondblclick="viewcoinfo('interunit','0000008746','{CF69D904-F2B3-44CB-9554-B5E27BD76DD4}')"
title="双击查看详情" >

想要用re.findall提取出interunit,0000008746,{CF69D904-F2B3-44CB-9554-B5E27BD76DD4}应该怎么写呢?

阅读 8.7k
5 个回答

再去复习一下正则的基本知识吧。 这次匹配这个格式里的字符,下次换别的又蒙圈了,还得再来求一个正则。。。

import re
 
s = "<tr ondblclick=\"viewcoinfo('interunit','0000008746','{CF69D904-F2B3-44CB-9554-B5E27BD76DD4}')\">"
m = re.search(r'viewcoinfo\(\'(\w+)\',\'(\w+)\',\'(\{\w+-\w+-\w+-\w+-\w+\})\'\)', s)
print(m.group(1))
print(m.group(2))
print(m.group(3))



interunit
0000008746
{CF69D904-F2B3-44CB-9554-B5E27BD76DD4}

ps:   我的是Python 3.5.0,而且我对Python一点都不熟悉,重点是这个正则表达式吧!:D
PATTERN = "ondblclick=\"viewcoinfo(.*)$"
result = re.findall(PATTERN, s, re.MULTILINE|re.IGNORECASE)
if result:
    print result[0]
新手上路,请多包涵

既然LZ想要用re.findall()来实现的话,findall()会返回一个list。匹配出来之后直接取list的后三个就可以了

推荐你去看下这篇关于正则表达式的文章Link

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题