循环数据提取所有以 .co.uk 结尾的电子邮件地址

2023-12-24

我试图通过应对以下挑战来提高我的编程 (PHP) 技能。接下来的问题并不是关于代码问题,也不是我要求代码问题,而是关于应该应用的编程逻辑。

    (9,'[email protected] /cdn-cgi/l/email-protection',0,0,1,1,0,1,1),
    (10,'[email protected] /cdn-cgi/l/email-protection',1,0,0,1,0,0,1),
    (11,'[email protected] /cdn-cgi/l/email-protection',0,0,0,1,0,0,1),
    (12,'[email protected] /cdn-cgi/l/email-protection',1,0,9,1,1,1,1),
    (13,'[email protected] /cdn-cgi/l/email-protection',0,0,9,1,1,1,1),
    (15,'[email protected] /cdn-cgi/l/email-protection',1,0,9,1,1,1,1),
    (16,'[email protected] /cdn-cgi/l/email-protection',0,0,0,1,0,0,1),
    (17,'[email protected] /cdn-cgi/l/email-protection',1,0,9,1,1,1,1)

客观的

考虑上面的以下数据转储,我需要找到一种方法来仅提取以结尾的电子邮件地址.co.uk并将其输入到数据库表中。在此示例中,只有 2 个以 .co.uk 结尾的电子邮件地址,即[email protected] /cdn-cgi/l/email-protection and [email protected] /cdn-cgi/l/email-protection

问题

我很难弄清楚如何解决这个问题,因为:

  1. 没有(大多数)电子邮件地址的字符数不同
  2. 电子邮件地址之间存在不相关的数据,更具体地说是数字,应忽略

我的逻辑/伪代码

  1. 在行中找到一个公分母(我注意到第一列是每行加一的整数)用它来为变量赋值$min and $max(在这个例子中$min=9 and $max=17)

  2. 使用上面分配的变量来循环行,每次迭代时循环增加一

  3. 内部循环忽略所有整数类型的字符

  4. 使用 pregmatch 查找以 .co.uk 结尾的电子邮件地址

  5. 如果找到添加到数组$couk_emailselse 循环到下一行

  6. 当循环结束时上传数组$couk_emails到数据库表

这就是我想出的逻辑/Psuedo,但我觉得它有缺陷。我认为这是一个相当困难的挑战,所以我很想听听经验丰富的程序员如何解决此类问题

请注意,本文中的所有电子邮件地址都是虚构的/据我所知是虚构的


尝试使用正则表达式来实现此目的
像这样的东西 -

'(.*?\.co\.uk)'

Regex 解释在这里 https://regex101.com/r/dZ7gE6/1.

您可以使用正则表达式将 php 中的字符串匹配preg_match http://php.net/manual/en/function.preg-match.php功能。
用一个简单的例子来测试这一点 -

>>> $regex = "/'(.*?\.co\.uk)'/"
>>> $str = "(12,'[email protected] /cdn-cgi/l/email-protection',1,0,9,1,1,1,1),"
>>> preg_match($regex, $str, $match)
=> 1
>>> $match
=> [
       "'[email protected] /cdn-cgi/l/email-protection'",
       "[email protected] /cdn-cgi/l/email-protection"
   ]

解释
在上面的代码中,preg_match采取在$regex$str匹配并返回0 or 1取决于它是否与字符串匹配。

要提取字符串的电子邮件部分并丢弃其余部分(例如正则表达式中使用的单引号),您需要将相应的部分放入capturing group http://www.regular-expressions.info/brackets.html它将在第三个参数的匹配数组中返回($match上例中的变量)。

最后,$match[0]包含与正则表达式匹配的整个字符串并且$match[1]仅包含电子邮件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

循环数据提取所有以 .co.uk 结尾的电子邮件地址 的相关文章

随机推荐

  • Android,通知 backstack 片段发生某些变化

    在发生某些更改时通知后台堆栈中的所有片段的最佳实践是什么 我尝试使用EventBus并且每个片段都会订阅该事件 然后当发生更改时 主要活动将发布事件发送给所有订阅者 Only onDestroy我取消订阅已销毁的片段 我不喜欢这个解决方案
  • 删除多维数组中的元素并保存[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我试图弄清
  • Route 53 别名 DNS 记录:别名目标名称不在目标区域内

    我正在尝试为通过路由 53 购买的域设置别名 该别名将指向我网站中的一个页面 其 URL 如下所示 http example com website id 我的 api 使用以下参数设置了 HostedZone var params Cal
  • 如何确定可调用对象的函数签名?

    C 中有没有办法确定可调用对象的函数签名 考虑以下内容 template lt typename F gt void fun F f 让我们假设fun仅通过可调用的 事物 来调用 代替fun我想知道函数的签名是什么f 这应该适用于函数指针
  • 如何使用 pyspark 读取字段中包含逗号的 CSV 文件? [复制]

    这个问题在这里已经有答案了 我有一个 csv 文件 其中列值中包含逗号 例如 Column1 Column2 Column3 123 45 6 789 当数据中包含额外的逗号时 这些值会用双引号引起来 在上面的示例中 值是 Column1
  • 有条件地指定 noexcept 函数

    假设我声明了这样的函数noexcept int pow int base int exp noexcept return exp 0 1 base pow base exp 1 从我很少但慢慢增长的 C 知识来看 我可以noexcept当我
  • 在 Stripe Connect 入门中设置电话号码字段的默认国家/地区?

    这是相当小的 但为了更好的用户体验 在 stripe connect 登录期间 我希望电话号码字段默认为连接用户的国家 地区 就像地址字段一样 我怎样才能做到这一点 请注意 我没有用户的电话号码 因此无法提供参数为Account creat
  • 如何处理 Shopify API 与 Shopify gem 的连接?

    您好 我正在我的 Shopify 应用中使用 Shopify gem 我正在寻找有关如何处理与 Shopify 的 API 连接的建议 我正在使用 webhooks 和delayed jobs 所以我需要一种方法来打开控制器外部的连接 目前
  • 为什么编译器说:“enable_if”不能用于禁用此声明

    template
  • imshow 的颜色条,以 0 为中心并带有符号刻度

    我想生成一个由多个数组组成的绘图网格 具有正值和负值 具有对数刻度 共享相同的颜色条 我已经实现了颜色条的共享部分 使用 ImageGrid 和常见的最大值和最小值 并且我知道在只有正值的情况下 我可以在 imshow 调用上使用 LogN
  • 无法设置 JFrame 的最大大小(Windows 下)

    我正在尝试限制 a 的最大尺寸JFrame 然而 这只适用于 Linux 在 Windows 下 JFrame可以自由调整大小 代码非常简单 public class TestMaxSize extends javax swing JFra
  • 媒体播放器、进度条

    这是播放媒体时更新进度条的正确方法吗 我以为MediaPlayer中会有回调 但我找不到它 mediaPlayer start final SeekBar progress SeekBar dialog findViewById R id
  • 如何获取进程列表

    我正在使用节点并将其安装在我的机器上 现在我想获取我的机器上运行的进程列表 以便我可以查看 Apache 是否正在运行 MySQL 是否已启动等 我怎样才能做到这一点 我的 js 文件中只有非常基本的代码 我什至不知道从哪里开始 这是我的代
  • Eslint 预期缩进 1 个制表符但发现 4 个空格错误

    我正在使用 VScode 和最新版本的 Eslint 这是我第一次使用 linter 使用制表符作为缩进时 我不断收到此 linting 错误 严重性 错误 message 预期缩进 1 个制表符 但发现有 4 个空格 缩进 在 4 5 来
  • Pytorch批量矩阵向量外积

    我正在尝试使用 PyTorch 生成向量矩阵外积 张量 假设向量v有尺寸p和矩阵M有尺寸qXr 乘积的结果应为 pXqXr Example size 2 v 0 1 size 2X3 M 0 1 2 3 4 5 size 2X2X3 v M
  • 使用画布的 3D 立方体。需要一点改进

    我使用以下代码制作了这个 3d 立方体 Matrix mMatrix canvas getMatrix canvas save camera save camera rotateY angle camera getMatrix mMatri
  • Python 字符串与字节数组之间的转换

    如何将人类可读的字符串转换为字节数组并返回 假设我有 Hello World 并且想要一个字节数组 然后从字节数组到相同的字符串 您可以使用bytearray https docs python org 2 library function
  • 将 collections.deque 转换为 python 列表的算法复杂度是多少?

    我试图确定将 collections deque 对象转换为 python 列表对象的复杂度是 O n 我想它必须获取每个元素并将其转换为列表 但我似乎找不到双端队列背后的实现代码 那么 Python 是否在幕后内置了一些更高效的东西 可以
  • nlp - 如何检测句子中的单词是否指向颜色/身体部位/车辆

    因此 正如标题所示 我想知道句子中的某个单词是否指向 1 一种颜色 The grass is green 因此 绿色 是颜色 2 身体的一部分 Her hands are soft 因此 手 是身体的一部分 3 车辆 I am drivin
  • 循环数据提取所有以 .co.uk 结尾的电子邮件地址

    我试图通过应对以下挑战来提高我的编程 PHP 技能 接下来的问题并不是关于代码问题 也不是我要求代码问题 而是关于应该应用的编程逻辑 9 email protected cdn cgi l email protection 0 0 1 1