Python:如何与RegEx完全匹配

2024-09-28 21:33:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一些java脚本中过滤出一个链接。java脚本部分不再相关,因为我将其转换为字符串(文本)。在

以下是脚本部分:

<script> setTimeout("location.href = 'https://airdownload.adobe.com/air/win/download/30.0/AdobeAIRInstaller.exe';", 2000); $(function() { $("#whats_new_panels").bxSlider({ controls: false, auto: true, pause: 15000 }); }); setTimeout(function(){ $("#download_messaging").hide(); $("#next_button").show(); }, 10000); </script>

我要做的是:

^{pr2}$

我想要的是href链接,我有点明白了,但出于某种原因,只不过是这样

<_sre.SRE_Match object; span=(30, 112), match="href = 'https://airdownload.adobe.com/air/win/dow>

不是我想要的那样

<_sre.SRE_Match object; span=(30, 112), match="href = 'https://airdownload.adobe.com/air/win/download/30.0/AdobeAIRInstaller.exe'">

所以我的问题是如何获得完整的链接,而不仅仅是其中的一部分。在

问题可能是搜索不返回更长的字符串吗?因为我尝试了修改RegEx,所以我甚至尝试用1比1匹配链接,但它仍然只返回我之前调用的部分。在


Tags: 字符串https脚本com链接downloadscriptjava
1条回答
网友
1楼 · 发布于 2024-09-28 21:33:14

我稍微修改了一下,但对我来说,它返回了您现在想要的完整字符串。在

import re

text = """
<script>                

setTimeout("location.href = 'https://airdownload.adobe.com/air/win/download/30.0/AdobeAIRInstaller.exe';", 2000);


    $(function() {
        $("#whats_new_panels").bxSlider({
            controls: false,
            auto: true,
            pause: 15000
        });
    });

    setTimeout(function(){
        $("#download_messaging").hide();
         $("#next_button").show();
    }, 10000);
</script>
"""

def get_link_from_text(text):
   text = text.replace('\n', '')
   text = text.replace('\t', '')
   text = re.sub(' +', ' ', text)

   search_for = re.compile("href[ ]*=[ ]*'[^;]*")
   debug = search_for.findall(text)

   print(debug)

get_link_from_text(text)

输出:

^{pr2}$

相关问题 更多 >