Php Regex检查是否存在精确的字符串

Php Regex检查是否存在精确的字符串,php,regex,exact-match,Php,Regex,Exact Match,我正在寻找一种方法,使用Regex或任何更好的方法检查另一个字符串中是否存在精确的字符串匹配。我知道您告诉regex在字符串的开头或结尾匹配空格或任何其他非单词字符。然而,我不知道如何设置它 搜索字符串:t 字符串1:你好,世界,很高兴见到你!t 字符串2:你好,世界,很高兴见到你 字符串3:T你好,世界,很高兴见到你 我想使用搜索字符串并将其与字符串1、字符串2和字符串3进行比较,只从字符串1和字符串3中获得正匹配,而不是从字符串2中获得正匹配 要求: 搜索字符串可以位于主题中的任何字符位置。

我正在寻找一种方法,使用Regex或任何更好的方法检查另一个字符串中是否存在精确的字符串匹配。我知道您告诉regex在字符串的开头或结尾匹配空格或任何其他非单词字符。然而,我不知道如何设置它

搜索字符串:
t

字符串1:
你好,世界,很高兴见到你!t

字符串2:
你好,世界,很高兴见到你
字符串3:
T你好,世界,很高兴见到你

我想使用搜索字符串并将其与字符串1、字符串2和字符串3进行比较,只从字符串1和字符串3中获得正匹配,而不是从字符串2中获得正匹配

要求:
搜索字符串可以位于主题中的任何字符位置。
前后可能有空白字符,也可能没有。
如果它是另一个字符串的一部分,我不希望它匹配;例如一个单词的一部分

为了这个问题: 我想我应该使用以下模式来实现这一点:
/\bt\b/gi

/\b{$search\u string}\b/gi

这个看起来对吗?能做得更好吗?有没有这种模式不起作用的情况?

附加信息:这将在PHP5中使用,您对
/\bt\b/gi
的建议将起作用,并且可能是一种方法。您已正确使用
\b
作为单词边界。您正在使用全局和不区分大小写的修饰符,这两种情况下都会找到所有匹配项。简单、直接、干净。不要再看你已经想到的东西了。

你关于
/\bt\b/gi
的建议会起作用,而且可能是可行的方法。您已正确使用
\b
作为单词边界。您正在使用全局和不区分大小写的修饰符,这两种情况下都会找到所有匹配项。简单、直接、干净。只看你已经想到的东西。

根据一句老话,给一个人一个正则表达式,他会快乐一天,教他写正则表达式,他会快乐一辈子(或类似的东西)。试试“r”


它为reg exp需求提供了一个GUI和一些非常好的示例

根据一句老话,给一个人一个正则表达式,他会快乐一天,教他写正则表达式,他会快乐一辈子(或类似的事情),试试“r”


它为reg exp需求提供了一个GUI和一些非常好的示例

我觉得不错。您可能需要检查的确切含义,以确保它正是您所需要的


如果没有更详细的描述,我真的无法说出这种模式“不起作用”的任何情况,但是
\b
可以很好地用于您的测试用例。

在我看来很好。您可能需要检查的确切含义,以确保它正是您所需要的

不能真正命名任何模式,如果没有一个更详细的描述,这个模式将不起作用,但是<代码> \b/c>将对您的测试用例起作用。

@ jayrx:<代码> > <代码>不是“单词字符”,因此<代码> \b/COD>不可能认为它是单词边界。引入<>代码>代码>转换你的问题,我会认为这是一个新问题。请发布一个关于匹配<代码> > t>代码的新问题。新问题@ @ jayrx:<代码> > <代码>不是“单词字符”,因此<代码> \b/COD>不可能认为它是单词边界。引入<>代码>代码>转换你的问题,我会认为这是一个新问题。请发布一个关于匹配
#t
的新问题。新问题@