对PayPal输出使用RegEx表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对PayPal输出使用RegEx表达式相关的知识,希望对你有一定的参考价值。

我在使用sed表达式来获取我想要的数据时遇到了问题。我已经研究了一下,并尝试了一个小教程,但我可以使用一些帮助。我觉得我不能用任何东西

我最接近类似线程的是“How do i print word after regex but not a similar word?”。

我正在尝试解析这个来获取信息:

<table cellpadding=""0"" cellspacing=""0"" border=""0""><tr><td>Product<br>Total: 9.99 CAD<br></td></tr><tr><td><br /> <table cellpadding=""0"" cellspacing=""0"" border=""0"" style=""font-size:10px;""><tr><td colspan=""2""><b style=""color:#777; font size:12px;"">==Payer Info==</b></td></tr><tr><td width=""70""><b style=""color:#777"">First Name</b> </td><td>Greg</td></tr><tr><td><b style=""color:#777"">Last Name</b> </td><td>Allan</td></tr><tr><td><b style=""color:#777"">E-Mail</b></td><td>gregoryallan@me.com</td></tr></table></td></tr></table>

理想情况下,我希望得到这个人的名字。我必须做一个表达式,直到第一个名字前面的>,然后抓住那个变量。

$ sed -n 's/^.*[Payer Info] -- grab name and stop when you hit </td>

我一直误导,因为我暗示我是在终端做的。这是我的第一个目标。但现在我需要在Google Apps脚本中使用此RegEx。我认为它会是相似的 - 事实并非如此。非常抱歉我误导的所有人。

答案

这可能有效(假设格式总是与您的示例完全相同):

sed -e 's/^.*First Name</b> </td><td>([^<]*).*$/1/g' sed_sample
另一答案

在这里,我提取了你的名字(在你的情况下是Greg):

sed 's_^.*First Name[^d]*d>[^>]*>([A-Za-z]*).*_1_'

您可以轻松修改它以获取其他字段。

第二个名字:

sed 's_^.*Last Name[^d]*d>[^>]*>([A-Za-z]*).*_1_'

电子邮件:

sed 's_^.*E-Mail[^d]*d>[^>]*>([A-Za-z@.]*).*_1_'

在脚本中,您可以使用以下内容:

NAME = $(echo $ STRING | sed xxx)

在哪里用sed中的命令替换xxx。

捕获脚本内进程输出还有很多其他可能性。

以上是关于对PayPal输出使用RegEx表达式的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 和 Regex 提取 Paypal 按钮 ID

循环通过 python 正则表达式匹配

正则表达式 [REGEX] - 替换/替换 - 捕获组 1 和 2 中的内容

java 字符串替换

EL表达式

没有 g 标志 RegEX 返回有线输出