首页 > 解决方案 > 正则表达式在分号后从新行获取数据

问题描述

我不擅长使用正则表达式并且努力制作一个正则表达式,它将从分号后的新行获取数据。例如,看这个例子

Regarding:
267 Covert St Rm 3.5 

Contact Information:
(869) 869-5365 <8698695365>
abc@gmail.com 

Comments:
I'd like to schedule a viewing for Covert St #3.5, Brooklyn, NY 11207, US. 
Please contact me with more information! I am available at 
abc@gmail.com 

从上面的文本中,我需要获取关于、联系信息和评论下的文本。

我已经制作了这个正则表达式,但它正在获取整个字符串

regExp = new RegExp("(?<=Regarding:)(\n).*");

我正在谷歌应用程序脚本中制作脚本并解析电子邮件中的数据。

谢谢。

标签: regexgoogle-apps-script

解决方案


我不确定在这种情况下是否需要 RegExp。它可以只是拆分:

var s = `Regarding:
267 Covert St Rm 3.5 

Contact Information:
(869) 869-5365 <8698695365>
abc@gmail.com 

Comments:
I'd like to schedule a viewing for Covert St #3.5, Brooklyn, NY 11207, US. 
Please contact me with more information! I am available at 
abc@gmail.com`

var regarding = s.split("Regarding:")[1].split("Contact Information:")[0];
console.log(regarding);

var contacts = s.split("Contact Information:")[1].split("Comments:")[0];
console.log(contacts);

var coments = s.split("Comments:")[1];
console.log(coments);

:如果您在此处之后只需要第一行,请执行以下操作:

var s = `Regarding:
267 Covert St Rm 3.5 

Contact Information:
(869) 869-5365 <8698695365>
abc@gmail.com 

Comments:
I'd like to schedule a viewing for Covert St #3.5, Brooklyn, NY 11207, US. 
Please contact me with more information! I am available at 
abc@gmail.com`

var regarding = s.split("Regarding:\n")[1].split('\n')[0];
console.log(regarding);

var contacts = s.split("Contact Information:\n")[1].split('\n')[0];
console.log(contacts);

var coments = s.split("Comments:\n")[1].split('\n')[0];
console.log(coments);

但是您的 regExp 给出了大致相同的结果:

var s = `Regarding:
267 Covert St Rm 3.5 

Contact Information:
(869) 869-5365 <8698695365>
abc@gmail.com 

Comments:
I'd like to schedule a viewing for Covert St #3.5, Brooklyn, NY 11207, US. 
Please contact me with more information! I am available at 
abc@gmail.com`

var regExp = new RegExp("(?<=Regarding:)(\n).*");
var r = s.match(regExp)[0];
console.log(r);

var regExp = new RegExp("(?<=Contact Information:)(\n).*");
var c = s.match(regExp)[0];
console.log(c);

var regExp = new RegExp("(?<=Comments:)(\n).*");
var cm = s.match(regExp)[0];
console.log(cm);

那么,你的问题到底是什么?


推荐阅读