加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – PHP外观

发布时间:2020-12-14 06:02:33 所属栏目:百科 来源:网络整理
导读:我有一个字符串,例如: $foo = 'Hello __("How are you") I am __("very good thank you")' 我知道这是一个奇怪的字符串,但请跟我一起:P 我需要一个正则表达式来查找__之间的内容(“在这里查找内容”) 并把它放在一个数组中. 即正则表达式会找到“你好吗”
我有一个字符串,例如:

$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

编辑

而正如格雷格所说:有些人不太熟悉环顾四周,将它们排除在外可能更具可读性.然后匹配所有内容:__(“,字符串和”)并在括号内包装与字符串匹配的正则表达式.* ?,以仅捕获这些字符.然后你需要通过$matches [1]获得你的比赛.演示:

preg_match_all('/__("(.*?)")/',$matches);
print_r($matches[1]);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读