regex - 使用正则表达式过滤字符串
问题描述
我想使用正则表达式在文本文件中查找满足以下所有要求的多个字符串。
- 长度为 3
- 全部由大写字母组成
- 第一个字符不是“A”
- 第二个字符不是“J”
- 第三个字符不是“K”
我从这个开始:/[A-Z]{3}/
但由于某种原因,它也匹配小写的 3 个字母字符串。
这可能吗?任何指导表示赞赏。
解决方案
您需要锚定正则表达式,使其与整行匹配。否则,它将匹配一个长度超过 3 的字符串,但在其中的任何位置都包含 3 个大写字母。
您可以为每个字符使用字符集。
/^[B-Z][A-IK-Z][A-JL-Z]$/
^
匹配行的开头。[B-Z]
匹配任何不是 的大写字母A
,[A-IK-Z]
匹配除 之外的任何字母J
,并[A-JL-Z]
匹配除 之外的任何字母M
。$
匹配行尾。
推荐阅读
- matrix - OpenGL ES 2.0 - 围绕枢轴点 2D 旋转点(顶点着色器)
- c++ - 即使出现 0 个错误,Getter 似乎也会使程序崩溃
- macos - 我的 Roblox Studio 脚本有时会出错.. idk 为什么
- python - TypeError:调用函数时,'str'对象不可调用
- nginx - nginx在重写规则中将大写字母重写为小写字母
- python - HTTPResponse 对象没有属性 json
- python - django ImportError:无法导入名称“连接”
- javascript - 如何连接到firebase中文档的字符串字段
- swift - 是否可以反转 tableView 的顺序?我搜索了很多解决方案,但没有任何效果
- node.js - MongoDB 大小限制问题