如何使用正则表达式获取字符串的一部分?

时间:2011-12-26 14:59:03

标签: php regex preg-match

这是我的字符串:http://www.something.com/path/tt 0425235 / somethingelse /

我需要得到“0425235” (Beetween“tt”和“/”)

测试:http://rubular.com/

4 个答案:

答案 0 :(得分:2)

#http://www\.imdb\.com/title/tt(\d+)/#

答案 1 :(得分:2)

简单而完美;)

<?php
$match = array();
$url = 'http://www.something.com/path/tt0425235/somethingelse/bla/bla/bla/bla/?bla=bla';
preg_match( '/\/path\/([a-z]+([\d]+))+\/?/i' , $url , $match );
print_r( $match );
?>

再见!

答案 2 :(得分:1)

$url = 'http://www.something.com/path/tt0425235/';

list($id) = preg_split('~^.*/tt(\d+)/$~', $url, 2, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY) + array(NULL);

如果找不到您的模式,$id将为NULL

答案 3 :(得分:0)

/http:\/\/[\w+-_\.]+\/path\/tt(\d+)\//

或者

~http://[\w+-_\.]+/path/tt(\d+)/~