为了账号安全,请及时绑定邮箱和手机立即绑定

preg match remove 在前一组中捕获

preg match remove 在前一组中捕获

PHP
茅侃侃 2021-08-28 14:43:13
我需要将字符串分成几部分。匹配模式不得出现在其他匹配组中。示例字符串:baranythingbaranythingbaz预期输出:array(    0 => baranything    1 => bar    2 => anything    3 =>)array(    0 => baranything    1 => bar    2 => anything    3 => baz)最简单的解决方案可能是,(bar)(.*)(baz|)但它将所有剩余的字符串放入 [2] 元素中,并且不会捕获“baz”。
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

您可以使用

^(bar)(.*?)(baz|$)

请参阅正则表达式演示正则表达式图

//img1.sycdn.imooc.com//6129db2800015ca906330130.jpg

细节

  • ^ - 字符串的开始

    • (bar) - 第 1 组: bar

    • (.*?) - 第 2 组:除换行符以外的任何 0+ 个字符,尽可能少

    • (baz|$)-baz或字符串结尾。


查看完整回答
反对 回复 2021-08-28
  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信