连续的大写字母正则表达式

时间:2013-08-18 09:43:04

标签: python regex python-3.x

我正在尝试使用正则表达式在字符串中查找三个连续的大写字母。

我尝试过使用:

\b([A-Z]){3}\b  

作为我的正则表达式在某种程度上起作用。

然而,这只会返回字符串。我还希望它能找到嵌套在一个字符串中的三个连续的大写字母。即thisISAtest

1 个答案:

答案 0 :(得分:5)

我想知道为什么你的正则表达式\b中有这些单词边界?单词边界确保单词字符后跟非单词字符(反之亦然)。这些是阻止thisISAtest匹配的原因。删除它们你应该很好!

([A-Z]){3}

另一件事是我不确定你为什么要使用捕获组。你是在提取三个大写字母的最后一个字母吗?如果没有,您只需使用:

[A-Z]{3}

您不一定需要群组使用明确的量词。 :)

编辑:为了防止更多连续的大写字母,您可以使用负面的外观:

(?<![A-Z])[A-Z]{3}(?![A-Z])

(?<![A-Z])确保没有前面的大写字母;

(?![A-Z])确保没有以下大写字母。