正则表达式不起作用。总是假的回报。 PHP

时间:2017-03-14 14:38:27

标签: php regex

我想通过正则表达式搜索一些字符串。字符串看起来像=if(E2<time(6,0,0),ʺyesʺ,ʺnoʺ)

我尝试过这样的事情,但它会返回search/b/109/p/93

false

即使字符串为preg_match('search/b/[0-9]+/p/*', $string); ,我也会false

3 个答案:

答案 0 :(得分:4)

您必须在正则表达式中添加一些delimiters(在我的示例中为#):

 preg_match('#search/b/[0-9]+/p/*#i', $string);

答案 1 :(得分:0)

尝试:

search\/b\/[0-9]+\/p\/*

这逃脱了正斜杠。

所以在php中你的代码是:

preg_match('/search\/b\/[0-9]+\/p\/*/',$string);

当使用search/b/109/p/93作为$string

时,这将返回1

答案 2 :(得分:0)

您应该使用括号来获取变量。

search/b/([0-9]+)/p/([0-9]+)

适用于2个变量

search/b/[0-9]+/p/([0-9]+)

仅限最后一个