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)
这样的事情应该可以解决问题
/\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