【发布时间】:2018-12-17 05:52:54
【问题描述】:
我已经在这里使用了一段时间的帮助,但找不到任何特定于我的要求的内容。我需要选择包含至少 6 个字母和/或数字(组合,而不是每个)的完整单词,并带有可选的“特殊”字符。以任何顺序排列,如A12345、12345A、1-2-345-A、12A45B 等等。
我做了一个小提琴here。我快到了(但可以做得更好) - 我无法弄清楚为什么需要至少 6 个数字才能匹配。是不是因为*的字母都是可选的
这是 VBA,所以无法查看后面的内容。特殊字符只会出现在匹配的“内部”,而不是开始或结束(例如,永远不会是 -1234-A-)。
【问题讨论】:
-
我认为您可以拆分字符串并检查数组中的每个项目是否有 6 个字母/数字来构建结果数组/集合。实际上不需要正则表达式。
-
你的小提琴使用
[0-9-/],-/部分看起来很奇怪,regex101.com 抱怨/ An unescaped delimiter must be escaped with a backslash (\)。您能否验证一下这是否正确? -
A12345CN可以匹配为A1|2|3|4|5CN(其中|用于解释如何)这就是为什么它被{5,}拾取而不是{6,}。