如何从字符串

时间:2017-09-13 15:28:31

标签: php python regex recursion preg-match

我有一个字符串foobar1234。我想从中捕获以下字符串。

  1. foobar的
  2. bar1234
  3. R1
  4. AR12
  5. FOO
  6. 我为每个人编写了多个正则表达式,并按如下方式将它们组合在一起:

    /(f.+r)|(b.+4)|(r1)|(a.+2)|(f.+o)/
    

    但它只匹配并捕获第一个正则表达式,即(f。+ r)。如何捕获剩余的表达式?

1 个答案:

答案 0 :(得分:1)

使用积极的前瞻:

(?=(f.+r)|(b.+4)|(r1)|(a.+2))

PHP:

$str = 'foobar1234';
preg_match_all('/(?=(?|(f.+r)|(b.+4)|(r1)|(a.+2)))/', $str, $matches);
print_r($matches);