Python在字符串中搜索字符串并获取所需内容';那根绳子后面有什么

Python在字符串中搜索字符串并获取所需内容';那根绳子后面有什么,python,Python,所以我试图从一个大字符串接收一个JSON字符串。字符串是页面的源。但是在字符串的末尾,它一直说json='[468015847139,“N\/A”](什么是变量)。没有其他标记。所以我问,我如何接收JSON,即仅[468015847139,“N\/A”] 谢谢,您可以在整个json部分进行匹配,并使用一个组来匹配内部内容:json='(.+)' 一个有效的例子 这将在第1组中返回[4680115847139,“N\/A”]。一种方法: big_string = """blablabla<s

所以我试图从一个大字符串接收一个JSON字符串。字符串是页面的源。但是在字符串的末尾,它一直说
json='[468015847139,“N\/A”]
(什么是变量)。没有其他
标记。所以我问,我如何接收JSON,即仅
[468015847139,“N\/A”]


谢谢,

您可以在整个json部分进行匹配,并使用一个组来匹配内部内容:
json='(.+)'

一个有效的例子

这将在第1组中返回
[4680115847139,“N\/A”]

一种方法:

big_string = """blablabla<script>json='[46801158,105847139,"N\/A"]'</script>blablabla"""

final = big_string.split("<script>")[1].split("</script>")[0][:-1].strip("json='")
这只是使用基本的字符串操作。还有其他解决方案。

您可以使用正则表达式:

>>从重新导入findall
>>>findall(r“json=”(.+)”,“json=”[468015847139,“N\/A”]'))
['[468015847139,“N\\/A”]]

这将使用regex
json='(.+)'
查找脚本标记,并在json参数后捕获组。

您应该研究字符串操作,尤其是
split()
方法。您可以在
处拆分大字符串,然后在右侧拆分,然后在
处拆分剩余字符串,然后在左侧拆分。谢谢@Mathieu!我想我会带着你的评论来的。如果你在使用HTML,我强烈建议你使用HTML解析器,而不是像其他人建议的那样使用正则表达式。@MattB。我同意,但根据提供的信息,用HTML来做出结论是不可能的parser@MattB. 对我来说,你的评论听起来有点太教条了。你能链接到关于这个问题的讨论吗(我知道这些评论不是讨论的地方)?毕竟,下面的建议能起到作用,对吗?(在线性时间和常量内存中)我们真的不应该使用正则表达式来解析HTML!你的答案似乎没有比Jim Wright下面的答案更有价值。这也是一个糟糕的答案,因为我们不应该用regex@sophros主要的附加区别是,his不会像问题本身中指定的那样查找脚本标记
'[46801158,105847139,"N\\/A"]'