仅在使用 RegExp 抓取数据时显示值
Only showing values when scraping data using RegExp
我正在尝试从以下网站抓取数据:Morningstar
(https://www.morningstar.nl/nl/funds/snapshot/snapshot.aspx?id=F00000QIPC)
我想抓取 EUR 20,66
,但只显示 '20,66'。我使用以下代码:
function import1() {
var html, content = '';
var response = UrlFetchApp.fetch("https://www.morningstar.nl/nl/funds/snapshot/snapshot.aspx?id=F00000QIPC");
if (response) {
html = response.getContentText();
if (html) content = html.match(/<td class="line text">(.*?)<\/td>/)[1];
Logger.log(content)
}
return content;
}
显示值为:
EUR 20,66
我尝试添加 \d
以仅显示值:
if (html) content = html.match(/<td class="line text">(\d.*?)<\/td>/)[1];
但它以某种方式显示不同的值:
1,09%
它似乎没有将 20,66
识别为值或其他东西。我尝试了不同的东西,它会显示 EUR20,
但从来没有找到删除 EUR
的东西
(遗憾的是我不能再次复制这个场景)
如果能帮助解决这个问题,我们将不胜感激!
您似乎想匹配 EUR
,然后匹配可变数量的空格后的数字。
您可以使用
\s*EUR\s+(\d[\d,]*)
而不是 .*
。
详情
\s*
- 0 个或更多空格
EUR
- 文字文本
\s+
- 1+ 个空格
(\d[\d,]*)
- 捕获组 1:一个数字后跟 0 个或多个逗号或数字。
我正在尝试从以下网站抓取数据:Morningstar (https://www.morningstar.nl/nl/funds/snapshot/snapshot.aspx?id=F00000QIPC)
我想抓取 EUR 20,66
,但只显示 '20,66'。我使用以下代码:
function import1() {
var html, content = '';
var response = UrlFetchApp.fetch("https://www.morningstar.nl/nl/funds/snapshot/snapshot.aspx?id=F00000QIPC");
if (response) {
html = response.getContentText();
if (html) content = html.match(/<td class="line text">(.*?)<\/td>/)[1];
Logger.log(content)
}
return content;
}
显示值为:
EUR 20,66
我尝试添加 \d
以仅显示值:
if (html) content = html.match(/<td class="line text">(\d.*?)<\/td>/)[1];
但它以某种方式显示不同的值:
1,09%
它似乎没有将 20,66
识别为值或其他东西。我尝试了不同的东西,它会显示 EUR20,
但从来没有找到删除 EUR
的东西
(遗憾的是我不能再次复制这个场景)
如果能帮助解决这个问题,我们将不胜感激!
您似乎想匹配 EUR
,然后匹配可变数量的空格后的数字。
您可以使用
\s*EUR\s+(\d[\d,]*)
而不是 .*
。
详情
\s*
- 0 个或更多空格EUR
- 文字文本\s+
- 1+ 个空格(\d[\d,]*)
- 捕获组 1:一个数字后跟 0 个或多个逗号或数字。