我想从.torrent名称中获取某个字符串,但我只能从中得到它:
array
0 => string 'e' (length=1)
我做错了什么?这是我使用的preg_match
:
preg_match('/[S(0-9)E(0-9)]/i', 'True.Blood.S04E12.SWESUB.PDTV.XviD-DSMEDiA', $matches);
提前致谢。
答案 0 :(得分:0)
删除方括号并将它们放在数字周围,然后在它们后面添加+
(表示1或更多)。通过这种方式,您可以获得整个S ## E ##字符串,以及单独的数字:
preg_match('/S([0-9]+)E([0-9]+)/i', 'True.Blood.S04E12.SWESUB.PDTV.XviD-DSMEDiA', $matches);
print_r($matches);
/* output:
Array
(
[0] => S04E12
[1] => 04
[2] => 12
)
*/
您也可以将[0-9]
替换为\d
答案 1 :(得分:0)
我建议使用:
preg_match('/S[0-9]{1,2}E[0-9]{1,2}/i', 'True.Blood.S04E12.SWESUB.PDTV.XviD-DSMEDiA', $matches);
它出来了:
array(1) { [0]=> string(6) "S04E12" }
答案 2 :(得分:0)
以下正则表达式将返回相应的字符串。
/* Pattern: /\d{2}E\d{2}/ */
preg_match_all('/\d{2}E \d{2}/', '{{your data}}', $arr, PREG_PATTERN_ORDER);
/*Result*/
Array
(
[0] => Array
(
[0] => 04E12
)
)