我只是想从字符串中获取数字,其中数字包含在圆括号中。
我有以下代码:
$type_raw = $row['Type'];
$length_pattern = '^\(\d+\)$';
preg_match($type_raw,$length_pattern,$match,PREG_OFFSET_CAPTURE);
$length = $match[0];
PHP给了我以下错误:
“警告:preg_match()[function.preg-match]:分隔符不能是字母数字或反斜杠--filename- -line number->”
我的正则表达式模式是否有问题或者它还有什么问题?
好的,我刚刚改变了
$length_pattern = '^\(\d+\)$';
到
$length_pattern = '/^\(\d+\)$/';
并弹出同样的错误?
答案 0 :(得分:3)
来自PHP.net
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
所以你的将是:
$length_pattern = '/^\(\d+\)$/'; // with a delimiter "/"
preg_match($length_pattern,$type_raw,$matches,PREG_OFFSET_CAPTURE);
答案 1 :(得分:1)
您需要为正则表达式提供分隔符:
$length_pattern = '/^\(\d+\)$/';
答案 2 :(得分:0)
int preg_match ( string $pattern ,
string $subject
[, array &$matches
[, int $flags = 0
[, int $offset = 0 ]]] )
因此,您需要撤消订单,并为正则表达式提供分隔符,例如/^\(\d+\)$/