Php 预匹配未知修饰符'';在wordpress中

Php 预匹配未知修饰符'';在wordpress中,php,preg-match,Php,Preg Match,我在试着做一些简单的事情…我想 有以下几点 $current = '/zeta/2010/03/'; preg_match('/zeta/.{4}/(.{2})/$',$current,$monthnum); 我只是想让$monthnum=03 继续获取未知修饰符错误,或者,当我添加分隔符'#/zeta/{4}/(.{2})/$时,它返回的只是#数组 有人能帮忙吗?PCREs必须用分隔符括起来 您必须转义内部的\或使用另一个分隔符: ~/zeta/.{4}/(.{2})/$~' 否则,P

我在试着做一些简单的事情…我想

有以下几点

$current = '/zeta/2010/03/';

preg_match('/zeta/.{4}/(.{2})/$',$current,$monthnum); 
我只是想让
$monthnum=03

继续获取未知修饰符错误,或者,当我添加分隔符
'#/zeta/{4}/(.{2})/$
时,它返回的只是
#数组


有人能帮忙吗?

PCREs必须用分隔符括起来

您必须转义内部的
\
或使用另一个分隔符:

~/zeta/.{4}/(.{2})/$~'
否则,PHP认为表达式仅为
/zeta/
,而
不是一个表达式

不返回数组。您可以使用
var\u dump
检查
$monthnum
的内容,并访问所需的信息

您只需阅读以下文档即可解决问题:

如果提供了
匹配项
,则它将填充搜索结果
$matches[0]
将包含与完整模式匹配的文本,
$matches[1]
将包含与第一个捕获的括号子模式匹配的文本,依此类推

preg_match()返回模式匹配的次数。这将是0次(无匹配)或1次,因为preg\u match()将在第一次匹配后停止搜索


PCRE必须用分隔符括起来

您必须转义内部的
\
或使用另一个分隔符:

~/zeta/.{4}/(.{2})/$~'
否则,PHP认为表达式仅为
/zeta/
,而
不是一个表达式

不返回数组。您可以使用
var\u dump
检查
$monthnum
的内容,并访问所需的信息

您只需阅读以下文档即可解决问题:

如果提供了
匹配项
,则它将填充搜索结果
$matches[0]
将包含与完整模式匹配的文本,
$matches[1]
将包含与第一个捕获的括号子模式匹配的文本,依此类推

preg_match()返回模式匹配的次数。这将是0次(无匹配)或1次,因为preg\u match()将在第一次匹配后停止搜索

如您所知,如果函数本身与某些内容匹配,则返回true或false。当函数返回true时,$monthnum将被创建为一个数组,其中$monthnum[0]是完全匹配的,并且在此之后将加载您指定在regexp中提取的任何以下部分。在您的情况下,该部分:

([0-9]{2})

将加载到$monthnum[1]

如您所知,如果函数本身与某些内容匹配,则返回true或false。当函数返回true时,$monthnum将被创建为一个数组,其中$monthnum[0]是完全匹配的,并且在此之后将加载您指定在regexp中提取的任何以下部分。在您的情况下,该部分:

([0-9]{2})


将加载到$monthnum[1]

如果您已经知道如何解决修饰符错误,为什么不看看数组?如果您已经知道如何解决修饰符错误,为什么不看看数组?