首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我的情况下,-PHP正则表达式还是strpos()?

在我的情况下,-PHP正则表达式还是strpos()?
EN

Stack Overflow用户
提问于 2013-03-01 00:17:34
回答 1查看 1.8K关注 0票数 0

我的问题是:

输入:数千条缩写消息。

输出:过滤消息

过滤器:(消息有警报)或(消息有紧急情况)和(消息没有恢复)

示例:

  1. Ur001通用用户按用户打开(真)
  2. 惊慌区警报安全系统Zn2区域2名(假)
  3. 键盘恐慌紧急安全系统Ur1 Uer 1名称(假)
  4. 键盘恐慌紧急恢复安全系统Ur1 Uer 1名称(真)

我知道在他们的条件下也有很多类似的问题。哪条路更好?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-01 00:23:02

由于您的搜索术语是已知的("Alarm""Emergency""Restore"),正则表达式是一个糟糕的选择。为此,您应该使用strpos (或stripos忽略大写)。

话虽如此,如果你想把这些词作为实际的词而不是子字来搜索(即。您希望"Restored"不触发"Restore"匹配,那么您别无选择,只能使用Regex。在本例中,将\b放在单词之前和后面,以找到它们。就像这样:

代码语言:javascript
复制
if(preg_match("/\b(?:Alarm|Emergency)\b/i",$str) && !preg_match("/\bRestore\b/i",$str))

如果您特定地想要大写,请删除i修饰符。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15148200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档