我的问题是:
输入:数千条缩写消息。
输出:过滤消息
过滤器:(消息有警报)或(消息有紧急情况)和(消息没有恢复)
示例:
我知道在他们的条件下也有很多类似的问题。哪条路更好?
发布于 2013-03-01 00:23:02
由于您的搜索术语是已知的("Alarm"、"Emergency"、"Restore"),正则表达式是一个糟糕的选择。为此,您应该使用strpos (或stripos忽略大写)。
话虽如此,如果你想把这些词作为实际的词而不是子字来搜索(即。您希望"Restored"不触发"Restore"匹配,那么您别无选择,只能使用Regex。在本例中,将\b放在单词之前和后面,以找到它们。就像这样:
if(preg_match("/\b(?:Alarm|Emergency)\b/i",$str) && !preg_match("/\bRestore\b/i",$str))如果您特定地想要大写,请删除i修饰符。
https://stackoverflow.com/questions/15148200
复制相似问题