首页 > 解决方案 > 使用正则表达式过滤字符串

问题描述

我想使用正则表达式在文本文件中查找满足以下所有要求的多个字符串。

我从这个开始:/[A-Z]{3}/但由于某种原因,它也匹配小写的 3 个字母字符串。

这可能吗?任何指导表示赞赏。

标签: regexregex-negation

解决方案


您需要锚定正则表达式,使其与整行匹配。否则,它将匹配一个长度超过 3 的字符串,但在其中的任何位置都包含 3 个大写字母。

您可以为每个字符使用字符集。

/^[B-Z][A-IK-Z][A-JL-Z]$/

^匹配行的开头。[B-Z]匹配任何不是 的大写字母A[A-IK-Z]匹配除 之外的任何字母J,并[A-JL-Z]匹配除 之外的任何字母M$匹配行尾。


推荐阅读