用于查询sql的PHP字符串匹配代码

时间:2012-02-21 11:10:52

标签: php sql regex

我正在尝试编写一个PHP代码来查询以下值。

考虑表达式NAME,如\“$ string \”,其中,

$string should match,
ABC,        //ABC can be followed by any characters (including special character)
ABCdef      //ABC can be followed by any characters (including special character)
ABC         //ABC followed by ONE Space
ABC df      //ABC SPACE followed by anything
def ABC sda //ABC being start of a word
ABC         //Just ABC

即。 ABC应该是字符串的开头,不应该在任何字符之间。

[编辑]: 我尝试使用通配符,比如

where $name like \"%$string%\" or like \"%string %\"

但它不起作用。由于我是PHP和正则表达式的新手,你能帮我提出一个解决方案。

2 个答案:

答案 0 :(得分:2)

你试过吗?

/(^|\s)ABC/

我们检查“字符串的开头”(^)或空格(\ s),然后是ABC

修改

借用@rodneyrehm,您可能正在寻找SQL,而不是PHP正则表达式 - 在这种情况下您需要

... WHERE name RLIKE '(^|\\s)ABC'

或没有正则表达式

... WHERE (name LIKE 'ABC%' OR name LIKE '% ABC%')

答案 1 :(得分:1)

你是否有机会寻找通配符?

WHERE name LIKE "ABC%"

如果您确实需要,请参阅String Comparison FunctionsRegular Expressions