regex - 按顺序显示字母字符的正则表达式(不跳过字母)
问题描述
我无法为以下条件编写正确的正则表达式:
-Word 应包含字母表中的字母,例如从 A 到 E
- 字母应按字母顺序排列,但不能在两个字母之间跳过!,例如:ABCD是正确的词,ACD不是因为B缺失
- 它可以以字母表中的任何字母开头,例如:BCD 和 DE 一样有效,但 BCE 又不是因为 D 缺失
- 没有字母重复,例如:AAB 无效,DEE 无效
我尝试过以下逻辑:^A?B?C?D?E?$
但是有了这个,我可以在不允许的字母之间跳过。我可以尝试在不可跳过的字母之间做什么?
解决方案
没有简单的方法可以做到这一点,正则表达式不支持 (x+1) 类型的计算。但是,你可以做这个丑陋的事情:
^(?:A|AB|ABC|ABCD|ABCDE|B|BC|BCD|BCDE|C|CD|CDE|D|DE|E)$
推荐阅读
- c++ - C ++在文本文件中的特定字符后插入新行
- java - 如何对 html 字符串进行 xsl 模板匹配
- swift - 从部分中的行中的单元格中检索标签
- node.js - 如何使用 Fluent-ffmpeg 和 Node JS 在视频上添加音频
- excel - Excel公式检索两个日期之间的值
- python - Python中按附加类别划分的分面箱线图
- java - Gradle + Eclipse:在新项目中使用现有项目中的类
- android - 队列文件有时会损坏,导致在查看时出现 JSONSyntax 异常
- spring - 读取接口上定义的注解并使用注解值创建 bean 类
- java - Android Studio - 列表中的新项目未显示