Ruby正则表达式指定捕获组的长度

我需要匹配一个可变长度的字符串(5到12之间),由大写字母和1到8之间的一个或多个数字组成。如何指定我需要整个捕获组的长度介于5和12之间? 我尝试了括号,但没有运气。 我试过这个

s([A-Z]+[1-8]+[A-Z]+){5,12}s

我的想法是使用量词{5,12}来限制括号之间被捕获组的长度,但显然它不能像那样工作。

字符串需要在正常文本内标识

"THE STRING I NEED TO DECODE IS SOMETHING LIKE FD1531FHHKWF BUT NOT LIKE g4G58234JJ"

你实际上有两个条件可以满足:

匹配的长度用大括号{5,12}指定,前后不应有字母/数字。 所以:

/(?!b[A-Z]+b)b[A-Z1-8]{5,12}b/

首先,我们保证只有字母的前视是负面的,然后我们寻找模式。

链接地址: http://www.djcxy.com/p/12981.html

上一篇: Ruby regex specify length of captured group

下一篇: Don't match a group if it starts with a string in javascript