寻找两个大写字母之间的小写字母 - MySQL

时间:2013-07-23 08:29:12

标签: mysql select

我遇到了问题 - 我需要找到像AbC这样的每一个短语(小b,两个大写字母之间)。 例如声明: 小约翰有一个ProBlEm,需要知道怎么做tHiS。

我需要选择ProBlEm和tHiS(你看,BlE和HiS,两个首都之间的一个小写字母)。 我该如何选择?

2 个答案:

答案 0 :(得分:1)

在MySQL中,您可以使用二进制(以确保区分大小写)正则表达式来过滤包含此类模式的记录:

WHERE my_column REGEXP BINARY '[[:upper:]][[:lower:]][[:upper:]]'

然而,从MySQL中提取匹配这种模式的子串并不是那么简单。一个可以使用UDF,例如lib_mysqludf_preg,但它可能更适合在您的应用程序层中执行。在任何一种情况下,正则表达式都可以再次帮助简化此任务。

答案 1 :(得分:0)

首先你拆分了String。的 Please refer this SO Question

然后搜索每个反向词,如

substring(word,2) LIKE '[A-Z]' COLLATE latin1_general_cs