2011-02-18 53 views
1

如果我有一个像PHP:如何解决我的preg_replace代码

$str = "Hello [Page 1] World [Page 23] Hello [Page 35] World [Page 624]"; 

一个字符串,我想删除的“[页#]”

我怎么会去这样做,所有的实例?

这里就是我这么远......

preg_replace('[Page [0-9]]', '', $str); 

回答

0
preg_replace('/\\[Page [0-9]+\\]/', '', $str) 
+0

需要逃避[匹配他们。加号表示一个或多个。 – at0mzk 2011-02-18 05:17:56

+0

您还需要添加一个分隔符,例如/ pattern /或@patterns @ – 2011-02-18 05:20:37

1

记住[]是一流的分隔符。当你想用它们作为文字时,你需要首先转义它们(前缀为\)。所以:

/\[Page [0-9]+\]/i 

可能是你最好的选择。使用/环绕图案,在您的号码范围内添加+以匹配“1+号码”,最后的i表示不区分大小写的匹配(“页面”中的P或p)(如果这不是您的意图,请将其删除)。

0
/\[Page \d+\]/ 

也适用。 \ d是数字字符的简写。