【发布时间】:2019-12-03 21:21:48
【问题描述】:
这是给你的。是否可以根据前一组中已经匹配的字符数有条件地匹配一组中的字符数。
我需要匹配这样的东西
ABCDEFG | .ABCDEF | ..ABCDE | ...ABCD | ....ABC | .....AB
我知道这可以通过多个 OR 语句单独捕获每个组来完成,如下所示:
[A-Z0-9]{7}|\.[A-Z0-9]{6}|\.{2}[A-Z0-9]{5} you get the idea
但这可以通过条件匹配来完成吗? (是的,我知道我只列出了字符;这是为了清楚起见,但我也需要匹配数字,因此需要匹配正则表达式)。也试过这个,但效果不太好。
(\.*[A-Z0-9]*){7}
【问题讨论】:
-
在这种特殊情况下可能是
((?![A-Z0-9]\.)[.A-Z0-9]){7}regex101 以匹配 [.A-Z0-9] 中的 7 个字符序列,其中一个字符后面永远不会有一个点
标签: java regex conditional-statements