我需要一个正则表达式来匹配包含以下内容的字符串:
匹配字符串的示例:
XYZ的 AB 1的 CD -f的 AB 0的 AB _ CD < / p>
我想在MySQL查询中使用regexp,如下所示:
SELECT name
FROM table
WHERE name
REGEXP'...'
谢谢
答案 0 :(得分:0)
这会计算&#39; ab&#39;(
)的次数(非重叠)次数SELECT CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, 'ab', 'x')) FROM ...
注意:
CHAR_LENGTH
计算字符数,LENGTH
计算字节数;可能这种区别是无关紧要的。该示例适用于任何2-char搜索字符串。对于3字符,替换为2字符替换等:
... REPLACE(str, '1234567', 'abcdef') ...
而不是那样,你可以分开:
SELECT ( CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, 'ab', '')) ) /
CHAR_LENGTH('ab') FROM ...
要查找至少包含3个副本的行:
SELECT * FROM t
WHERE ( ... ) >= 3