我有一个字符串:The_3454_WITH_DAE[2011][RUS][HDVDRip],我想得到 [] 括号之间的四位数字,而不是 3454,请帮助我并提供正则表达式的 php 示例。
问问题
123 次
3 回答
3
您必须转义方括号才能匹配它们
\[([\d]{4})\]
演示http://codepad.viper-7.com/J4Rnkt
preg_match_all(
'/
\[ # match any opening square bracket
([\d]{4}) # capture the four digits within
\] # followed by a closing square bracket
/x',
'The_3454_WITH_DAE[2011][RUS][HDVDRip]',
$matches
);
print_r($matches);
输出:
Array
(
[0] => Array
(
[0] => [2011]
)
[1] => Array
(
[0] => 2011
)
)
于 2012-08-28T13:10:09.823 回答
1
preg_match("/(?<=\[)\d{4}(?=\])/", $subject, $matches);
如果用方括号括起来,将匹配四位数字。
于 2012-08-28T13:10:48.140 回答
1
以下正则表达式应该可以解决问题
$str = 'The_3454_WITH_DAE[2011][RUS][HDVDRip]';
preg_match('/\[([0-9]+)\]/', $str, $matches);
于 2012-08-28T13:11:54.973 回答