正在分析字符串以通过Google Apps脚本在字符串中查找电子邮件
Parsing string to find email within string via Google Apps Script
我不是一个新的程序员,而是谷歌应用程序脚本的新手。我正在尝试获取一个字符串,并查找字符串中包含的电子邮件地址。
string="这是我要查找的单元格的正文。正文中有一封电子邮件,类似于john.doe@aol.com在这里";
email=FindEmail(字符串);
MailApp.sendEmail(电子邮件,"完成电子邮件",","这是电子邮件");
我需要建立一个名为FindEmail的函数,但坦率地说,我不知道如何开始。
虽然SO上已经有很多解决方案,但我发现的那些解决方案需要调整,以提供您想要的简单性。
- 如何在javascript中从字符串中查找电子邮件和姓名
- Regex用于电子邮件匹配
- 使用javascript在字符串中查找电子邮件地址
- 使用JavaScript获取字符串中的所有电子邮件地址
- 更多
这里有一个由所有其他答案浓缩而成的简单函数——实际上,正则表达式有点过头了,但在许多情况下也可以用于验证。它返回一个地址数组,所以如果你只想要第一个,你应该编码email = findEmails(string)[0]
。。。但实际上,在相信这一点之前,你应该先做一些错误检查。
/**
* Return an array of all email addresses found in input string.
*/
function FindEmails(input) {
var regex = /(?:[a-z0-9!#$%&'*+'/=?^_`{|}~-]+(?:'.[a-z0-9!#$%&'*+'/=?^_`{|}~-]+)*|"(?:['x01-'x08'x0b'x0c'x0e-'x1f'x21'x23-'x5b'x5d-'x7f]|''['x01-'x09'x0b'x0c'x0e-'x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?'.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|'[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:['x01-'x08'x0b'x0c'x0e-'x1f'x21-'x5a'x53-'x7f]|''['x01-'x09'x0b'x0c'x0e-'x7f])+)'])/gm
var result = input.match(regex);
return result;
}
一个电子邮件地址解析库"电子邮件地址"已适用于谷歌应用程序脚本。来源是分叉的,可以作为要点。
- 公开提供的库密钥M26NvEFUvGLQadhq7G3OQmgFzUAA6_aCl
- 此处提供文档
然而。。。它在你给出的字符串示例中找不到电子邮件地址!它期望包含地址的字符串松散地符合RFC 5322。
相关文章:
- 如何将字符串值从php页面发送到java脚本页面
- 内联javascript与"<脚本>"字符串错误地关闭了脚本标记
- 为什么脚本标记被分解为两个字符串
- 替换字符串的脚本;在某些网站上不起作用
- listbox不会将字符串传递给google脚本
- 如何在 java 脚本中将字符串日期转换为 GMT
- jQuery AJAX调用PHP脚本并返回字符串
- 传递php字符串作为php脚本中调用的javascript函数的参数
- 如何使用参数调用java脚本函数,其中参数来自字符串变量
- 如何向客户端返回带有双引号的字符串?脚本将其解析为JSON对象
- 使用java脚本提取字符串
- 一旦设置了PHP查询字符串,如何运行jQuery脚本
- 编写脚本以在提交之前将复选框值连接到字符串中
- 如何在脚本中拆分字符串
- 谷歌脚本如果文件名包含x字符串日志“;x被发现“;缺少括号
- Google Spreadsheets脚本可以删除找到字符串的任何行
- Jquery:在Jquery的(字符串)变量中执行Jquery脚本
- JS/Jquery:字符串到单词的文本分割脚本使用字典和最长匹配
- 解析格式错误的 json 字符串,该字符串周围没有双引号(Java 脚本)
- 如何让杰克逊在输出字符串中转义脚本>