PHP正则表达式只获得两个字符串之间的第一个值

时间:2014-08-26 18:13:17

标签: php regex

我有一个看起来像这样的字符串

aa bcdef123efg hh aa lklmasd456 hh (空格和粗体用于说明)

如果我有456,我想找到456的位置,并抓住 aa hh 之间的所有内容。

这是迄今为止我能够提出的正则表达式(?=aa)(.*)456(.*)(?=hh)

但是,这并不会在遇到它的第一次出现时停止(从456比赛向后)

我想要实现的目标是什么?

1 个答案:

答案 0 :(得分:1)

您可以使用此基于外观的正则表达式:

aa((?:(?!hh).)*?456(?:(?!hh).)*?)hh

RegEx Demo