在网页中的两个已知字符串之间提取文本并存储在变量中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在网页中的两个已知字符串之间提取文本并存储在变量中相关的知识,希望对你有一定的参考价值。

该网页包含以下行:

var zx_fn =“具有任何可能字符的字符串”;

我下载了网页,然后我尝试在引号之间取一部分并将其存储在变量中

我的代码:

#!/bin/sh
url="http://www.example.com/..."
content=$(wget -q -O - $url)
var1=$(sed -n '/^var zx_fn = "$/,/^";$/p' "$content")
echo $var1

它不起作用,因为它说:

sed:看不懂

它返回整个页面内容

对于这种情况还有什么好处? grep,awk还是sed?

这个问题已被标记为重复,但另一个问题并未明确我的疑虑,因为我需要帮助变量存储和正则表达式。

如果我遵循该答案,代码将返回:

语法错误:重定向意外

答案
$ foo='var zx_fn = "string with any possible character";'
$ bar=$(sed -n 's/var zx_fn = "\([^"]*\)";$/\1/p' <<< "$foo")
$ echo "$bar"
string with any possible character

上面的“任何可能的字符”被认为是“......除了双引号”。如果它可以包含双引号,那么让我们知道它们是如何在这些字符串中转义的,这样我们就可以告诉你如何处理它们。

以上是关于在网页中的两个已知字符串之间提取文本并存储在变量中的主要内容,如果未能解决你的问题,请参考以下文章

如何在VBScript中的同一字符串的两个索引位置之间存储所有文本?

使用 BeautifulSoup 迭代 XML 以提取特定标签并存储在变量中

在两个标记之间提取文本并替换字符

C# 正则表达式提取html中的文本

Vba excel从给定长度之间的字符串中提取文本

Python - 在其他两个特定字符之间的字符串中提取文本?