5

我遇到了问题 - 我需要找到像 AbC 这样的每一个短语(小 b,在两个大写字母之间)。例如一个陈述:小约翰有一个问题,需要知道如何去做。

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

4

2 回答 2

1

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

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

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

于 2013-07-23T08:35:54.630 回答
0

首先,您已经拆分了字符串。请参考这个 SO Question

然后搜索每个检索词

substring(word,2) LIKE '[A-Z]' COLLATE latin1_general_cs
于 2013-07-23T08:38:46.510 回答