【发布时间】:2013-06-27 18:27:47
【问题描述】:
我正在尝试编写一个 google-apps-script 来解析文档中的价格列表,而我的第一步是仅从报告中提取价格。
function createAndSendDocument() {
var labelObject = GmailApp.getUserLabelByName("Oil Prices");
var bodyRe = new RegExp("(?:Company Name Town Price Phone. Date Calc)(.*)(?=Oil prices quoted on this Website.*)","m");
var threads = labelObject.getThreads(0, 30);
for (var i = 0; i < threads.length; i++) {
var massageObject = threads[i].getMessages()[0];
var htmlDoc = Xml.parse(massageObject.getBody(), true);
var myArray = bodyRe.exec(htmlDoc.getElement().getElement("body").Text);
}
}
问题是 RegExp 在www.rubular.com(永久链接)中似乎可以正常工作,但在 google 脚本的调试器中评估不同。这里的规则有区别吗?
文字:
页面http://www.newenglandoil.com/rhodeisland/zone2.asp?x=0有 自上次检查以来发生了变化。
------ 变化 ------ 新英格兰之家
回到罗德岛的家
申请特别优惠 来自您当地的燃油经销商
石油经销商
2 周免费试用 推荐经销商
[北罗德岛。] 点击下方横幅了解更多公司信息 以下是北罗德岛的油价 高 0 低 0 平均 0 公司名称 城镇价格 电话号码 日期计算 PRICERITE石油公司 - PAWTUCKET 3.210 美元 2013 年 6 月 14 日 DUPUIS OIL CO + PAWTUCKET 3.160 美元 2013 年 6 月 26 日 DUPUIS OIL CO PAWTUCKET 3.499 美元 2013 年 6 月 18 日 专业供暖服务 - 则是才却也才则是才则是3.120美元,2013 年 6 月 25 日 + 北普罗维登斯 3.120 美元 6/26/2013 PAWTUCKET 3.450 美元 2013 年 6 月 18 日 A-STAR油 - 坎伯兰$ 3.120 6/24/2013通用石油公司 +坎伯兰$ 3.120 6/26/2013通用石油公司 坎伯兰 3.230 美元 2013 年 6 月 21 日 负担得起的燃料 SEEKONK 3.160 美元 2013 年 6 月 25 日 RAMBONE & SPRAQUE OIL SERVICE INC. NORTH SCITUATE 3.350 美元 2013 年 6 月 18 日 THRIFTY 油 蒂弗顿 3.199 美元 2013 年 6 月 19 日 折扣石油经纪人 史密斯菲尔德 3.249 美元 2013 年 6 月 18 日 T H MALLOY & SONS 坎伯兰 3.499 美元 2013 年 6 月 18 日 亨利石油公司 坎伯兰 3.600 美元 2013 年 6 月 18 日 辉光油 - 林肯 3.190 美元 2013 年 6 月 25 日 RI 石油俱乐部 +林肯$ 3.190 6/26/2013 RI石油俱乐部 NORTH PROVIDENCE 3.349 美元 2013 年 6 月 18 日 本网站所报的油价基于所提供的信息 石油交易商,未经 Energy Data, LLC 的独立验证。 Energy Data, LLC 对以下内容不作任何陈述或保证 参考经销商提供的石油价格、质量、交付或供应情况 在本网站上。
*价格可能会发生变化
COPYRIGHT © 2011 Energy Data, LLC,保留所有权利。
------- 页面结束报告-----------
Google 脚本结果:
["CE \xa0$3.349 \xa06/18/2013 \xa0", "E \xa0$3.349 \xa06/18/2013 \xa0"]
Rubular 结果:
- PRICERITE石油公司
- PAWTUCKET 3.210 美元 2013 年 6 月 14 日 DUPUIS OIL CO
- PAWTUCKET 3.160 美元 2013 年 6 月 26 日 DUPUIS OIL CO 爪子 $3.499 2013 年 6 月 18 日 专业供暖服务
- 北普罗维登斯 $3.120 2013 年 6 月 25 日马洛尼油
- 北普罗维登斯 3.120 美元 2013 年 6 月 26 日 马洛尼油 爪子 $3.450 2013 年 6 月 18 日 A-STAR OIL
- CUMBERLAND 3.120 美元 6/24/2013 环球石油公司
- 坎伯兰 3.120 美元 6/26/2013 环球石油公司 坎伯兰 3.230 美元 2013 年 6 月 21 日 负担得起的燃料 SEEKONK 3.160 美元 2013 年 6 月 25 日 RAMBONE & SPRAQUE OIL SERVICE INC. NORTH SCITUATE 3.350 美元 2013 年 6 月 18 日节俭石油 TIVERTON 3.199 美元 6/19/2013 折扣石油经纪人 史密斯菲尔德 3.249 美元 2013 年 6 月 18 日 T H MALLOY & SONS 坎伯兰 $3.499 2013 年 6 月 18 日 亨利石油公司 坎伯兰 3.600 美元 2013 年 6 月 18 日辉光油
- 林肯 3.190 美元 2013 年 6 月 25 日 RI 石油俱乐部
- 林肯 3.190 美元 2013 年 6 月 26 日 RI 石油俱乐部 北普罗维登斯 $3.349 2013 年 6 月 18 日
谢谢
【问题讨论】:
-
尝试使用 regexpal.com 测试 JavaScript 正则表达式。