所以我试图使用一个正则表达式,使用lookbehind来查找前一个字符,并对当前字符有条件。基本上如果前一个字符是1,则当前字符只能是5-9,或者如果前一个字符是9,则当前字符只能是0-4,否则它可以是任何数字。这是正在尝试的正则表达式,但它无效。
[1-9]((?(?<=1)[5-9]|[0-9])|(?(?<=9)[0-4]|[0-9]))$
答案 0 :(得分:0)
如果您要将其嵌入更大的正则表达式中,这应该有效:
(?:[02-8]|1(?![^5-9])|9(?![^0-4]))+
我们的想法是在消费角色时进行检查:
[02-8]
(?![^5-9])
做到这一点。(?![^0-4])
如果后面跟着0-4以外的某个字符,则不允许使用9。