连续大写字母regex

2024-10-01 13:36:44 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我试过使用:

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

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

但是,这只返回字符串本身。我还希望它能找到嵌套在一个字符串中的三个连续的大写字母。i、 ethisISAtest。在


Tags: 字符串大写字母程度ethisisatest
1条回答
网友
1楼 · 发布于 2024-10-01 13:36:44

我想知道您的regexp \b中为什么有这些单词边界?单词边界确保单词字符后跟非单词字符(反之亦然)。这些就是阻止thisISAtest匹配的原因。把它们取下来,你应该表现得很好!在

([A-Z]){3}

另一件事是我不知道你为什么要用一个捕捉组。你在提取三个大写字母中的最后一个字母吗?如果没有,您可以简单地使用:

^{pr2}$

你不一定需要小组来使用明确的量词。:)

编辑:为了避免更多连续的大写字母,您可以使用否定的lookaround:

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

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

(?![A-Z])确保后面没有大写字母。在

相关问题 更多 >