gpt4 book ai didi

javascript - Regex - 匹配 html 源代码中的 javascript 变量

转载 作者:行者123 更新时间:2023-11-28 05:00:51 24 4
gpt4 key购买 nike

我有一个带有 javascript 的网页,我需要匹配传递给函数的 2 个变量:

<html>
<!--Some html code-->
document.write(function('variable1', 'variable2'));
<!--Some html code-->
</html>

变量1和变量2可以是任意长度的混合字符和数字的字符串。我需要匹配他们两个。这是我现在使用的:

data = getSoup(url) # my function to get the beautifulsoup object
script = data.find('script', text = re.compile(r'document\.write\(function\(')).text.replace('document.write(function(\'', '')
variable1 = script.split("', '")[0]
variable2 = script.split("', '")[1].replace("'));","")

但我想使用更简单和“安全”的东西(即使函数并不总是位于脚本标记中。

更新:感谢 Thomas Ayoub 的回答,我找到了一个适合我的简单解决方案:

script = re.findall(r"document\.write\(function\(\'(.*?)\', \'(.*?)\'\)\)\;", str(data))[0]
variable1 = script[0]
variable2 = script[1]

最佳答案

您可以使用此正则表达式:

regex = r"document\.write\(function\(\s*'([^']+)'\s*,\s*'([^']+)'\s*\)"

参见demo

关于javascript - Regex - 匹配 html 源代码中的 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42141776/

24 4 0
文章推荐: javascript - Django ajax 403 因为 httponly cookie
文章推荐: javascript - 避免在转译的 javascript 中使用 require 语句
文章推荐: jquery - 克隆