PHP 正则表达式
if (preg_match('~[\x{4e00}-\x{9fa5}]+~u', $str)) { preg_match('/\[(.+?)\](\s|_)([a-zA-Z]+)/', $str, $pat_array); return $pat_array[count($pat_array) - 1]; }
命名变量
<?php $str = <<<FOO {{first.DATA}} 登录时间:{{keyword1.DATA}} 登录IP:{{keyword2.DATA}} {{remark.DATA}} FOO; preg_match_all('/(?P<name>.+):(?P<digit>.+)/', $str, $matches); var_dump($matches);
多行匹配注意:(.|\n)+?
<?php $str = <<<FOO {{first.DATA}} 登录时间:{{keyword1.DATA}} 登录IP:{{keyword2.DATA}} {{remark.DATA}} FOO; preg_match_all('/\{\{first\.DATA\}\}(.|\n)+?\{\{remark.DATA\}\}/', $str, $matches); var_dump($matches);