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