我有很多像这种模式的字段:
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()比其他一些基于正则表达式的解决方案更有效.
正则表达式样式:
preg_match('/([^:]*):/', $subject, $matches);
Run Code Online (Sandbox Code Playgroud)
纯字符串搜索:
strstr($subject, ':', true);
Run Code Online (Sandbox Code Playgroud)