如何使用正则表达式提取字符串?

时间:2016-02-11 10:12:31

标签: php regex

$str = (( test: 'object1', test2: 'object2', test3: 'object3' ))

在上面的字符串中,我想提取单词object1

所以,我写了下面的代码,但它没有用。

<?php
  echo preg_replace("/^(.+)test:(.+)'(.+)'(.+)$/", "$3", $str);
?>

它打印了&#34; object3&#34;

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

你可以简单地使用这个正则表达式:

.*?test:\s*'(.+?)'.*

你的例子:

$str = "(( test:   'object1',   test2:  'object2',    test3:   'object3' ))";
echo preg_replace("/.*?test:\s*'(.+?)'.*/", "$1", $str); //: object1