正则表达式 - PHP Lookaround

2024-05-07

我有一个字符串,例如:

$foo = 'Hello __("How are you") I am __("very good thank you")'

我知道这是一个奇怪的字符串,但请留在我身边:P

我需要一个正则表达式来查找 __("在此处查找内容") 之间的内容 并将其放入数组中。

即正则表达式会找到“你好吗”和“非常好,谢谢”。


尝试这个:

preg_match_all('/(?<=__\(").*?(?="\))/s', $foo, $matches);
print_r($matches);

意思是:

(?<=     # start positive look behind
  __\("  #   match the characters '__("'
)        # end positive look behind
.*?      # match any character and repeat it zero or more times, reluctantly
(?=      # start positive look ahead
  "\)    #   match the characters '")'
)        # end positive look ahead

EDIT

正如格雷格提到的:对于不太熟悉环视的人来说,将它们排除在外可能会更具可读性。然后你匹配所有内容:__(", the string and ")并包装匹配的正则表达式string, .*?,在括号内仅捕获那些字符。然后你需要得到你的比赛$matches[1]。演示:

preg_match_all('/__\("(.*?)"\)/', $foo, $matches);
print_r($matches[1]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式 - PHP Lookaround 的相关文章

  • InvalidArgumentException 与 UnexpectedValueException

    我应该什么时候使用无效参数异常 http www php net manual en class invalidargumentexception php什么时候意外值异常 http www php net manual en class
  • Zend 1.11 和 Doctrine 2 自动从现有数据库生成所需的一切

    我是 ORM 新手 我真的很想学习它 我按照本教程成功地使用 Zend 1 11 x 安装了 Doctrine 2 1 的所有类和配置 http www zendcasts com unit testing doctrine 2 entit
  • 如何在xampp中启用zip.dll

    你好 我正在使用 Windows 版 xampp 我想运行 https github com johmue mysql workbench schema exporter 导出我的架构 我在 mysql 工作台中创建架构并保存它 当我运行程
  • 使用 shell_exec 将 PHP 转换为 Powershell

    如果我运行 output shell exec powershell get service dhcp 我得到了 dhcp 服务的完美输出 显示正在运行 但如果我运行 output shell exec powershell get use
  • PHP 时区问题 |英国夏令时和格林威治标准时间

    我开发了一个应用程序 它记录某些记录的修改和创建时间 所以基本上我们使用time 保存更改时进行记录的功能 我在英国 所以我的时区必须是 GMT 然而在英国 我们使用夏令时 所以在夏天我们不再使用格林尼治标准时间 而是使用英国夏令时 我如何
  • 防止重复数据输入mysql数据库

    我试图让我的电子邮件订阅服务拒绝数据库中已存在的电子邮件 这样用户就不会订阅同一封电子邮件两次 这就是我所拥有的 但它不起作用 有什么想法吗
  • 句子中模糊的电子邮件地址

    我正在输出日志消息 需要隐藏其中的电子邮件地址 日志消息可能如下所示 A lead was saved for email protected cdn cgi l email protection Date 11th December 20
  • PHP session_destroy() 警告会话对象销毁失败[重复]

    这个问题在这里已经有答案了 我有这个 php 脚本 但在破坏会话时遇到问题 我收到这个警告 警告 session destroy 会话对象销毁失败 第 6 行 C xampp htdocs template nota finalizare
  • drupal 7 将实际内容存储在数据库中的哪里?

    我打开了 drupal 7 的数据库并在表中查找node node revisions and node types并且找不到 drupal 存储实际的位置body节点 内容 的 有人有线索吗 哦 我刚刚找到了 在 D7 中 他们实现了字段
  • AJAX VS PHP 动态网页?

    当您只能使用 php 来实现动态网页时 为什么要使用 AJAX 呢 使用 AJAX 的主要原因是用户体验 UX 现在 AJAX 不一定会改善每个实例的用户体验 所以在很多地方坚持使用纯 PHP 完全没问题 但想象一下这样的情况 网站上有一个
  • PHP:如何将信息返回到等待的脚本并继续处理

    假设有两个脚本Requester php和Provider php Requester需要Provider进行处理并向其发出http请求 Provider php data data 在这种情况下 Provider 很快就找到了答案 但为了
  • 如何在按钮上执行mysql [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions PHP 单击按钮时如何执行 SQL
  • PHP $_SERVER['REMOTE_HOST'] 返回 ::1 [重复]

    这个问题在这里已经有答案了 可能的重复 应该 ip SERVER REMOTE ADDR 在 mamp 本地主机上返回 1 https stackoverflow com questions 3699454 should ip server
  • 如何使用 PHP 通过 JSON 发送 HTML 元素?

    以下功能 try query this gt pdo gt prepare SELECT FROM bookings WHERE TourID AND dTourDate and Status NOT LIKE Cancelled quer
  • dataTables fnFilter 列 on img 文件名

    我正在尝试根据标签的 src 属性中的图像文件名来过滤列 我的行看起来像这样 tr class unread odd td class td tr
  • 如何在索引视图中打印关联数据

    subjects this gt Subjects gt find all contain gt Users fields gt Users username Users email gt hydrate false gt toArray
  • 如何从 URL 获取当前的 Web 目录?

    如果我有一个网址http www example com sites dir index html http www example com sites dir index html 我想提取 sites 这个词 我知道我必须使用正则表达式
  • 为什么 count 比 $count 差

    我只是在查看不同问题的答案以了解更多信息 我看到一个answer https stackoverflow com a 4891402 429850这表明在 php 中编写这样的做法是不好的做法 for i 0 i
  • PHP 7.2 计数错误

    警告 count 参数必须是数组或对象 实现 Countable in 我在以下行中收到上述错误 if 0 gt count this gt xprop 有人可以帮助我理解这一点吗 我对 PHP 还很陌生 问题显然是 this gt xpr
  • 在同一服务器上的 2 个子域中安装 2 个 WordPress 时共享用户

    我有 2 个 WordPress 网站 位于 2 个不同的子域中 例如test1 abc com and test2 abc com 这两个网站都激活了 wp require 插件 只有登录用户才能看到该网站 我们想要创建一个系统 如果用户

随机推荐

  • 运行命令后存在来自 rocker/r-ver:4.0.4 的容器

    这是我的 Dockerfile FROM rocker r ver 4 0 4 在 cmd 中我构建 docker build t myfolder myimage 它塑造的形象很好 然后我跑 docker run myfolder myi
  • 使用 OAuth2 对应用程序*和*网站进行身份验证

    我正在开发一个主要通过应用程序访问的网站 我想使用 OAuth2 进行用户注册和身份验证 由于它是一个 Android 应用程序 我将开始使用 Google 的 OAuth2 东西 因为它在 Android 上提供了一个不错的 UI 谷歌表
  • 在 PHP 中生成 Excel 输出的最佳方法是什么? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 还有其他类似 PHPExcel 的 PHP 组件吗 有一些类可以生成 PHP Excel 文件 真正的 Excel 文件 而不是 csv
  • PostScript:“cvs”是否终止字符串缓冲区?

    使用时的一个想法cvs是通过重用字符串缓冲区来帮助垃圾收集器 例如 s 5 string def s 2 cvs s 66 cvs 然而 当在循环中执行此类操作时 实际在缓冲区中找到的字符串是 40 0 30 0 20 0 10 0 0 0
  • 如何自动执行/安排 IIS 中托管的 WCF 服务调用?

    我有一个非常简单的服务合同 用于管理自己的数据导入 类似于 using System ServiceModel namespace Company Services Domain Contract ServiceContract Name
  • 如何在链接到表单的工作表中执行 Google 工作表脚本之前等待 Google 表单脚本完成执行

    我有两个脚本 一个链接到 Google 表单 另一个链接到 Google 表格 我需要确保 Google 表单脚本在执行链接到 Google 表单的工作表的 Google 工作表脚本主体之前完成执行 如何才能做到这一点 需要等待 Googl
  • Python Tkinter OOP 布局配置

    我正在尝试使用 tkinter 构建一个应用程序 该布局在没有 OO 原则的情况下工作 但我很难理解应该如何将其转移到 OO The layout is as shown in the pic below 1280x720px 我有以下内容
  • 河内塔与蟒蛇“柜台”

    我已经用 python 编写了 河内塔 的代码 我试图添加一个计数器来显示它运行了多少次 我尝试了一些东西 例如 while 循环和 for 循环等 但它不起作用 我确信答案很简单 但我的大脑现在运行在最低设置上 我的代码如下所示 def
  • Delta Lake 独立于 Apache Spark?

    我一直在探索数据湖屋概念和 Delta Lake 它的一些功能看起来真的很有趣 就在项目主页上https delta io https delta io 有一个图表显示 Delta Lake 运行在 您现有的数据湖 上 但没有提及 Spar
  • Python:如何在烧瓶中显示 matplotlib [重复]

    这个问题在这里已经有答案了 我对 Flask 和 Matplotlib 很陌生 我希望能够显示我在某些 html 中生成的简单图表 但我很难弄清楚如何实现 这是我的Python代码 from flask import Flask rende
  • 从Python中的字符串中提取日期时间的最佳方法

    我有一个脚本可以解析电子邮件标题中表示日期和时间的字段 这些字符串的一些示例如下 Fri 10 Jun 2011 11 04 17 0200 CEST Tue 1 Jun 2011 11 04 17 0200 Wed 8 Jul 1992
  • GMock 删除使用 ReturnArg 时的隐式转换警告

    给出以下模拟方法 MOCK METHOD2 send int const void pBuffer size t szBuffer 以及以下用法 EXPECT CALL socketMock send Times 1 WillOnce Re
  • ktor 客户端发布多部分/表单数据

    如何使用 ktor 客户端将文件作为多部分 表单数据发布 我想将它用于电报机器人 API 发送文档 我需要获得与curl命令相同的结果 curl F document path to some file https api telegram
  • 混合应用程序开发(PhoneGap、Cordova、Ionic)

    我试图了解一切是如何运作的 但对此主题有一些疑问 我将解释我如何理解这些东西 首先让我们从Cordova这是翻译平台JS CSS HTML文件到本机应用程序中 但这并不完全是事实 实际上 它只是将所有 html css 文件放入 asset
  • formatTime 以“h”而不是“:”作为分隔符

    葡萄牙时间使用以下 24 小时格式 18h30 我试过了 timeFormat H h mm timeFormat H h mm timeFormat H h mm 是否可以 谢谢 您需要使用单引号inside用于插入字母的 JavaScr
  • java.lang.IllegalStateException:无法为 X 创建层 - 使用硬件层时

    我在自定义视图上使用硬件层 以便在为其 Alpha 制作动画时获得更好的性能 在我的崩溃记者上看到这次崩溃 Fatal Exception java lang IllegalStateException Unable to create l
  • 在 Grails 下如何防止异常导致事务回滚?

    我的 Grails 服务遇到一个问题 即与事务无关的吞没异常会导致事务回滚 即使它与域对象的持久性无关 在我的服务中 我有一些类似的东西 updateSomething domainObj def oldFilename domainObj
  • CAS 注销和 cookie 消除

    我刚刚制作了一个 HelloWorld servlet 并在其上实现了 CAS 我能够毫无问题地登录 并且 CAS 在我的浏览器中设置 3 个 cookie CASGT 并为 cas 设置 2 个 JSESSIONID 1 另一个为 hel
  • C# 从另一个 void 返回一个字符串

    我很确定这是一件容易的事 我只是想从另一个 void 返回一个字符串 public static void LinkWorker string baseURLString do some stuff here HTMLWork baseUR
  • 正则表达式 - PHP Lookaround

    我有一个字符串 例如 foo Hello How are you I am very good thank you 我知道这是一个奇怪的字符串 但请留在我身边 P 我需要一个正则表达式来查找 在此处查找内容 之间的内容 并将其放入数组中 即