我正在尝试编写一个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和正则表达式的新手,你能帮我提出一个解决方案。
答案 0 :(得分:2)
你试过吗?
/(^|\s)ABC/
我们检查“字符串的开头”(^)或空格(\ s),然后是ABC
修改强>
借用@rodneyrehm,您可能正在寻找SQL,而不是PHP正则表达式 - 在这种情况下您需要
... WHERE name RLIKE '(^|\\s)ABC'
或没有正则表达式
... WHERE (name LIKE 'ABC%' OR name LIKE '% ABC%')
答案 1 :(得分:1)