【发布时间】:2019-10-10 21:04:45
【问题描述】:
我想使用正则表达式在文本文件中查找满足以下所有要求的多个字符串。
- 长度为 3
- 全部由大写字母组成
- 第一个字符不是“A”
- 第二个字符不是“J”
- 第三个字符不是“K”
我从这个开始:/[A-Z]{3}/,但由于某种原因,它也匹配小写的 3 个字母字符串。
这可能吗?任何指导表示赞赏。
【问题讨论】:
-
[A-Z]只能匹配小写字母,前提是您启用了不区分大小写的匹配。 -
您需要锚定您的正则表达式,否则它将匹配行中的任何位置。所以应该是
/^[A-Z]{3}$/ -
您可以使用:
/[B-Z][A-IK-Z][A-JL-Z]/ -
此外,您需要匹配所有 Unicode 字母还是只匹配 ASCII 字母?
标签: regex regex-negation