我在MySQL中需要一个匹配的正则表达式:
例如,以下内容匹配:
答案 0 :(得分:2)
MySQL的扩展正则表达式非常强大;见http://dev.mysql.com/doc/refman/5.6/en/regexp.html。你可以写:
[[:<:]]e[deki]{1,2}k[[:>:]]
(单词开头边界,加上e
,加上[deki]
中的一个或两个字符,再加上k
,加上字尾边界)。
这假设你的单词被标点符号或空格或诸如此类的东西分开,并且它不要求你的字段包含多个单词。
(提示使用\b
的答案提示Bohemian。对于字边界,MySQL不支持\b
,但它让我想起我的原始答案遗漏的内容。)
答案 1 :(得分:0)
试试这个:
WHERE column RLIKE '[[:<:]]e[deki]{1,2}k[[:>:]]'
mysql不支持\b
,而是分别使用[[:<:]]
和[[:>:]]
作为单词的开头和结尾。正则表达式相应更新