首页 > 解决方案 > 正则表达式评估三个字母结构

问题描述

我正在尝试构建一个正则表达式,它会告诉我 3 个字母的字符串(作为文档系列)是否有效。基本上从“aaa”到“ard”的所有内容都应该是有效的,从“are”开始的所有内容都需要被视为无效。我被这个条件困住了,因为我真的不知道如何构建它。我已经尝试过下面的一个,但它返回所有“ar*”为有效,即使所有“as*”和更高版本都被认为是无效的。

[a]{1}[a-r]{1}?[a-z](?(1)<=([s-z])([\Z])){1}

你能帮我把正确的代码放在适当的位置吗?

标签: regex

解决方案


您可以使用

^a(?:[a-q][a-z]|r[a-d])$

查看正则表达式演示

细节

  • ^- 字符串的开头
  • a-a一封信
  • (?:[a-q][a-z]|r[a-d])- 两种选择之一:
    • [a-q][a-z]- 一个字母 from atoq后跟任何 ASCII 小写字母
    • |- 或者
    • r[a-d]-r后跟一封来自ato的信d
  • $- 字符串结束。

推荐阅读