找到一个多重长度的字符串

Ed *_*hin 4 ruby regex validation

我必须找到长度为7且小于35的倍数的每个单词.我可以使用某些模式

/\b([a-zA-Z0-9]{7}|[a-zA-Z0-9]{14}|[a-zA-Z0-9]{21}|[a-zA-Z0-9]{28})\b/
Run Code Online (Sandbox Code Playgroud)

但我希望有更好的解决方案

[a-zA-Z0-9]{7|14|21|28} 
Run Code Online (Sandbox Code Playgroud)

甚至喜欢

[a-zA-Z0-9]{7*k}
Run Code Online (Sandbox Code Playgroud)

bro*_*bro 8

这样的事情应该可以解决问题

/\b(?:[a-zA-Z0-9]{7}){1,5}\b/
Run Code Online (Sandbox Code Playgroud)

它匹配长度为7,14,21,28,35的字符串

演示:https://regex101.com/r/eO4oG3/2

编辑:另一种可能性是使用反向引用
http://www.regular-expressions.info/backref.html