Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取两个不同的开始分隔符和结束分隔符之间的所有子字符串_Python_Html_Substring_String Matching - Fatal编程技术网

Python 获取两个不同的开始分隔符和结束分隔符之间的所有子字符串

Python 获取两个不同的开始分隔符和结束分隔符之间的所有子字符串,python,html,substring,string-matching,Python,Html,Substring,String Matching,我试图在Python3中获得给定字符串a的所有子字符串的列表,这些子字符串在分隔符x之后开始,在分隔符y之前结束。 我找到的解决方案只能让我第一次出现,但结果必须是所有发生的列表 start = '>' end = '</' s = '<script>a=eval;b=alert;a(b(/XSS/.source));</script><script>a=eval;b=alert;a(b(/XSS/.source));</script>

我试图在Python3中获得给定字符串a的所有子字符串的列表,这些子字符串在分隔符x之后开始,在分隔符y之前结束。 我找到的解决方案只能让我第一次出现,但结果必须是所有发生的列表

start = '>'
end = '</'
s = '<script>a=eval;b=alert;a(b(/XSS/.source));</script><script>a=eval;b=alert;a(b(/XSS/.source));</script>'"><marquee><h1>XSS by Xylitol</h1></marquee>'
print((s.split(start))[1].split(end)[0])

对于正则表达式来说,在字符串中寻找模式似乎是一项体面的工作。 这将返回一对
之间的任何内容的列表:


这回答了你的问题吗?遗憾的是,没有。。。我实际上是在用美味的汤和咖啡。另一方面,输入字符串不必包含可以解析的完整HTML结构。它们更像是包含XSS Paylods的URL,因此可以包含Javascript。我需要手动提取所有标签的网址。谢谢你,这正是我所希望的!
a=eval;b=alert;a(b(/XSS/.source));
a=eval;b=alert;a(b(/XSS/.source));
import re
pattern = re.compile(r'<script>(.*?)</script>')
s = '<script>a=eval;b=alert;a(b(/XSS/.source));</script><script>a=eval;b=alert;a(b(/XSS/.source));</script>\'"><marquee><h1>XSS by Xylitol</h1></marquee>'
print(pattern.findall(s))
['a=eval;b=alert;a(b(/XSS/.source));', 'a=eval;b=alert;a(b(/XSS/.source));']