SELECT REGEXP_REPLACE('abc123def456', '[^0-9]', '') as num;
上面的代码会返回一个字符串中所有数字的集合,在这里,大家使用了REGEXP_REPLACE函数,第一个参数是需要匹配的原始字符串,第二个参数是大家需要过滤的字符,这里大家使用了^0-9这样的方式来将非数字字符过滤掉,最后的结果会返回一个由数字构成的字符串。
当然,如果大家需要匹配出一些特定的数字串,也可以使用MYSQL正则表达式中比较常见的形式来匹配,例如:
SELECT '123abc456' REGEXP '^[0-9]+$' as is_num, -- 匹配出是否全由数字构成 '123456789' REGEXP '12345|6789' as contains; -- 匹配出是否包含12345或6789两个数字
如上述代码,大家可以通过正则表达式来判断字符串是否完全由数字构成,也可以匹配出特定的数字。这些技巧可以帮助大家更加灵活地使用MYSQL正则表达式。