正则表达式,如 gmail 搜索运算符 - PHP preg_match
我正在尝试使用 PHP 中的函数 preg_match 来实现类似于 gmail 搜索运算符的系统来分割输入字符串。 示例:
输入字符串 =>命令1:字1 字2 命令2:字3 命令3:字4 字N
输出数组 => (
命令1:字1字2,
命令2:单词3,
命令3:word4 wordN
)
以下帖子解释了如何执行此操作:实现 Google 搜索运算符
我已经使用 preg_match 对其进行了测试但不匹配。我认为正则表达式可能会因系统而异。
猜猜 PHP 中的正则表达式如何解决这个问题?
preg_match('/\s+(?=\w+:)/i','command1:word1 word2 command2:word3 command3:word4 wordN',$test);
谢谢,
I'm trying to implement a system similar to gmail search operators using function preg_match from PHP to split the input string .
Example:
input string => command1:word1 word2 command2:word3 command3:word4 wordN
output array => (
command1:word1 word2,
command2:word3,
command3:word4 wordN
)
The following post explains how to do it: Implementing Google search operators
I already test it using preg_match but doesn't match. I think regular expressions may change a bit from system to system.
Any guess how regex in PHP would match this problem?
preg_match('/\s+(?=\w+:)/i','command1:word1 word2 command2:word3 command3:word4 wordN',$test);
Thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以使用这样的东西:
它甚至可以处理不同位置的相同命令(例如,“command1:”在开始和结束处)。
You can use something like this:
It will cope even with same commands at different locations (eg. "command1:" at both the start and end).