1

我正在寻找一种方法来使用正则表达式或建议的任何更好的方法来检查另一个字符串中是否存在精确的字符串匹配。我了解您告诉正则表达式匹配字符串开头或结尾的空格或任何其他非单词字符。但是,我不知道如何设置它。

搜索字符串:t

字符串 1:Hello World, Nice to see you! t
字符串 2:Hello World, Nice to see you!
字符串 3:T Hello World, Nice to see you!

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

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

为了这个问题:我想我会使用这种模式来做到这一点:/\bt\b/gi

/\b{$search_string}\b/gi

这看起来对吗?可以做得更好吗?这种模式不起作用的任何情况?
附加信息:这将在 PHP 5 中使用

4

3 回答 3

3

您的建议/\bt\b/gi将起作用,并且可能是要走的路。您已经正确地使用\b了单词边界。您正在使用全局和不区分大小写的修饰符,它将在这两种情况下找到所有匹配项。简单,直接,干净。看看你已经想出的。

于 2010-05-13T03:46:23.280 回答
3

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

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

于 2010-05-13T03:46:52.017 回答
1

俗话说给一个人一个正则表达式,他快乐一天,教他写正则表达式,他一生快乐(或类似的东西)试试“ regulato r”

它提供了一个 GUI 和一些非常好的例子来满足 reg exp 的需求。

于 2010-05-13T03:46:38.287 回答