Php 正则表达式错误
嗨,我有一个简单的问题,但不知怎么的,我今天看起来像是智障 我想处理所有以%开头,以%结尾的字符串<代码>%This%是有效的匹配项。 以下是我写的:Php 正则表达式错误,php,regex,Php,Regex,嗨,我有一个简单的问题,但不知怎么的,我今天看起来像是智障 我想处理所有以%开头,以%结尾的字符串%This%是有效的匹配项。 以下是我写的: $data = "This should %work% here"; preg_match_all('/%(.*?)%/g', $data, $loco); echo var_dump($loco); 不知怎的,我得到$loco=NULL。我的正则表达式有什么问题 试试这个: $data = "This should %work% here"; pre
$data = "This should %work% here";
preg_match_all('/%(.*?)%/g', $data, $loco);
echo var_dump($loco);
不知怎的,我得到$loco=NULL。我的正则表达式有什么问题 试试这个:
$data = "This should %work% here";
preg_match_all('/%(.*?)%/i', $data, $loco);
echo var_dump($loco);
g
不是有效的修饰符
拆下它,它会很好地工作。对我来说很好!(我刚刚删除了g作为修饰符)@Rizier123$loco不是空的吗?不,请看:在JS中,您需要
g
修饰符,但在PHP中,preg\u match
和preg\u match\u all
的存在使得它变得相当冗余。扔掉它,你会没事的(ps:'/%([^%]+)%/'
将是一个更好的模式,我认为这是因为g
修饰符。你不需要把它包括进去。。