Python正则表达式匹配开始字符串和结束字符串,并且必须包含特定的单词

Python正则表达式匹配开始字符串和结束字符串,并且必须包含特定的单词,python,regex,python-3.x,regex-group,Python,Regex,Python 3.x,Regex Group,我需要一些关于改进正则表达式的指导。我有一个网页的来源,并想提取的href的网页。该表没有任何ID或类。我已经决定使用正则表达式,但是我的表达式似乎比我想要的更匹配。 我尝试了以下方法: http:\/\/(.*?(=.*showuri)(.*?)responseType=xml\“>\/lnc\/ 我的开始是http://结束是responseType=xml“>/lnc/,我需要中间的一位来包含单词showuri 我使用的是Python 3,我使用的方法如下: doc = html.from

我需要一些关于改进正则表达式的指导。我有一个网页的来源,并想提取的href的网页。该表没有任何ID或类。我已经决定使用正则表达式,但是我的表达式似乎比我想要的更匹配。 我尝试了以下方法:

http:\/\/(.*?(=.*showuri)(.*?)responseType=xml\“>\/lnc\/

我的开始是http://结束是responseType=xml“>/lnc/,我需要中间的一位来包含单词showuri


我使用的是Python 3,我使用的方法如下:

doc = html.fromstring(text)
tr_elements = doc.xpath('//a/@href')
df = pd.DataFrame(tr_elements)
df.columns=['URL']

从这一点开始,我将删除不包含“showuri”的行。

也许您应该首先使用解析器来获取所有的HREF(请参阅),然后在contains
responseType=xml>/lnc/
上过滤结果。不要为此使用正则表达式。感谢@ctwheels提供了类似的方法