Python正则表达式:无法在组中获得匹配

时间:2016-03-02 18:54:47

标签: python regex regex-group

我正在使用以下正则表达式:

<a\s*href\s*=\s*\\\s*"(.*?)\\.*?>(.*?)<\/a>

其目的是获取href的值和链接名称。

如果您看一下以下链接,那么您可以看到我有3组(0,1,2):

  • group(1)给出href的值
  • group(2)给出了链接名称。

https://regex101.com/r/eD8vN7/1

但是当我在python中使用这个正则表达式时,我在组(1)中得到了错误的输出。

输入:

<a href=\"https://abc/asd/asd/ki.html\" class=\"wfid_temp560484 link\" target=\"_blank\" style=\"target-new: tab;\"  data-ajax=\"false\">scheduling_PFS</a>

实际输出:

group1:

https://abc/asd/asd/ki.html\" class=\"wfid_temp560484 link\" target=\"_blank\" style=\"target-new: tab;\"  data-ajax=\"false\"

预期产出:

组1:

https://abc/asd/asd/ki.html

修改

输入字符串非常复杂,它可以有多个标签相互跟随:

<a href=\"http://sewe518.lmweera.kolio.se:8001/dtr?jobid=6170286\" class=\"wfid_temp560484 link\" target=\"_blank\" style=\"target-new: tab;\"  data-ajax=\"false\">scheduling_PFS</a></td><td class=\"wfid_temp560509 tablecell\" style=\"color:green\" align=\"left\" valign=\"middle\" colspan=\"1\" rowspan=\"1\" >13</td><td class=\"wfid_temp560531 tablecell\" style=\"color:brown\" align=\"left\" valign=\"middle\" colspan=\"1\" rowspan=\"1\" >

2 个答案:

答案 0 :(得分:0)

你能试试吗?

<a.+(http.*://[]\w/.]+.\w+):*.*\>(\w+)<\/a>

请参阅this

答案 1 :(得分:0)

你可以尝试这个:href=\\"(\S*)\\".*>(.*)</a>

link