首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >圆括号中的PHP正则表达式编号

圆括号中的PHP正则表达式编号
EN

Stack Overflow用户
提问于 2011-10-05 03:05:18
回答 3查看 1.3K关注 0票数 0

我只是想从字符串中获取数字,其中数字包含在圆括号中。

我有以下代码:

代码语言:javascript
复制
   $type_raw = $row['Type'];
   $length_pattern = '^\(\d+\)$';

   preg_match($type_raw,$length_pattern,$match,PREG_OFFSET_CAPTURE);
   $length = $match[0];

PHP显示以下错误:

“警告: preg_match()函数.preg-match:filename- -line number中的分隔符不能是字母数字或反斜杠->”

我的正则表达式模式是否有问题,或者可能是什么?

好的,我刚换了衣服

代码语言:javascript
复制
  $length_pattern = '^\(\d+\)$';

代码语言:javascript
复制
  $length_pattern = '/^\(\d+\)$/';

同样的错误也会出现吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-05 03:07:23

来自PHP.net

代码语言:javascript
复制
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

所以你的将会是:

代码语言:javascript
复制
$length_pattern = '/^\(\d+\)$/'; // with a delimiter "/"

preg_match($length_pattern,$type_raw,$matches,PREG_OFFSET_CAPTURE);
票数 3
EN

Stack Overflow用户

发布于 2011-10-05 03:07:25

您需要为regex提供分隔符:

代码语言:javascript
复制
$length_pattern = '/^\(\d+\)$/';
票数 1
EN

Stack Overflow用户

发布于 2011-10-05 03:08:03

method signature为:

代码语言:javascript
复制
int preg_match ( string $pattern ,
                 string $subject
                 [, array &$matches
                 [, int $flags = 0
                 [, int $offset = 0 ]]] )

因此,您需要颠倒顺序,并为正则表达式提供分隔符,例如/^\(\d+\)$/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7652815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档