PHP正则表达式获得特定的行

时间:2014-03-14 02:36:19

标签: php regex

我对正则表达式并不是很好,我尝试了多个表达式,但无法解决这个问题。

我有一个大文本文件,如下所示:

user1:asdffdf:asdasd
user2:asdafaf:adads

我需要一个PHP的正则表达式,它可以匹配我想要的用户名并返回行内容。

例如,我想获取" user2"的行内容,但在搜索" adads"时,正则表达式不应该匹配。例如。

感谢。

2 个答案:

答案 0 :(得分:1)

  

我不认真了解不清楚的地方。我有一个变量   $ username ='user2';我想得到包含user2的行   第一个冒号前的第一个单词

$subject = 'user1:asdffdf:asdasd
user2:asdafaf:adads
user2:asdafaf:blah';
$username = 'user2';

if (preg_match_all('/^'.$username.':.*$/m',$subject,$matches,PREG_SET_ORDER)) {
    print_r($matches);
}

//Array
//(
//    [0] => Array
//        (
//            [0] => user2:asdafaf:adads
//        )
//
//    [1] => Array
//        (
//            [0] => user2:asdafaf:blah
//        )
//
//)

答案 1 :(得分:0)

if(preg_match("/nothing in front/",$whereToSearchForMatches)){
        // do something

} else {
        // do something else 

}