我有一个字符串不可思议的绿巨人(2008年)和使用模式preg_replace函数的问题
/^\([0-9]{1,4}\)$/
删除(2008)。 PHP代码如下所示:
$x = trim(preg_replace("/^\([0-9]{1,4}\)$/", "", "The Incredible Hulk (2008)"));
,其结果是:
The Incredible Hulk (2008)
我在做什么错?
我有一个字符串不可思议的绿巨人(2008年)和使用模式preg_replace函数的问题
/^\([0-9]{1,4}\)$/
删除(2008)。 PHP代码如下所示:
$x = trim(preg_replace("/^\([0-9]{1,4}\)$/", "", "The Incredible Hulk (2008)"));
,其结果是:
The Incredible Hulk (2008)
我在做什么错?
您正在使用匹配起始行的^
字符。删除它,它应该工作。
如果你也想摆脱空白的(
前的正则表达式变得/\s*\([0-9]{1,4}\)$/
取出“^”。
$x = trim(preg_replace("/\([0-9]{1,4}\)$/", "", "The Incredible Hulk (2008)"));
(2008)没有固定在字符串的开头。 “^”要求匹配从一行的开始处开始。
^
和$
是标记整个字符串的开始和结束。删除两个。
$x = trim(preg_replace("/\([0-9]{4}\)/", "", "The Incredible Hulk (2008)"));
只要删除^
符号(行首)。
$x = trim(preg_replace("/\([0-9]{1,4}\)$/", "", "The Incredible Hulk (2008)"));
(你可能想要删除$
标志以及线(结束))对文档中的PHP元字符
更多信息: http://www.php.net/manual/en/regexp.reference.meta.php
$result = preg_replace('/\([\d]{4}\)$/', '', 'The Incredible Hulk (2008)');