php正则表达式变量

时间:2011-04-15 10:32:24

标签: php regex variables preg-match

如何在正则表达式中将regexp写入变量?

$string = 'Test regular expression';
preg_match('#test (^\s+) expression#is', $string, $b);

//$b[1] = 'regular'; // But I need another way. 

我想要

$b['string'] = 'regular'; // Not using $b['string'] = $b[1];

也许

$regex = '#test (^\s+)/string/ expression#is';

也许有办法将正则表达式写入正则表达式中的数组变量?

谢谢,我希望你能理解我。

1 个答案:

答案 0 :(得分:1)

您可以使用命名捕获表达式执行此操作:

preg_match('#test (?P<string>[^\s]+) expression#is', $string, $b);
print_r($b);