使用正则表达式或php函数获取":"之前的所有字符(冒号)

re1*_*man 2 php regex

我有很多像这种模式的字段:

    re2man: (johnny bravo)
re1man: (john smith)......

user: (firstname lastname)..
Run Code Online (Sandbox Code Playgroud)

我想使用正则表达式或其他php函数来获取冒号之前的字符(":")

Dav*_*ous 12

看看explode()简单地将字符串拆分为':'.

例如, list($username) = explode(':', $string);

(list()用于将爆炸字符串的第一部分分配给$username其余部分并丢弃;更长的方法是:

$parts = explode(':', $string);
$username = $parts[0];

此外,您可以使用额外限制参数来指示您不需要其余部分,例如:

list($username) = explode(':', $string, 1);

这可能会也可能不会更快.此外,我希望使用explode()比其他一些基于正则表达式的解决方案更有效.


aef*_*fxx 5

正则表达式样式:

preg_match('/([^:]*):/', $subject, $matches);
Run Code Online (Sandbox Code Playgroud)

纯字符串搜索:

strstr($subject, ':', true);
Run Code Online (Sandbox Code Playgroud)