Regex 正则表达式从组值(a | b)中选择第二个选项

Regex 正则表达式从组值(a | b)中选择第二个选项,regex,if-statement,Regex,If Statement,我写的正则表达式是a | b-?11 | 2它应该做什么: 如果是a,那么a-1是允许的 如果是b,那么b-2是允许的 具有组1=a或b和组2=1或2的 我试过使用?'a'a | b-?a1 | 2,但它给了我不同的数字组,即第3组或第4组 如何将数字组设置为2使用非捕获组 a?=-1 | b?=-2-1 | 2 仅当a后跟-1时匹配a。 仅当b后跟-2时匹配b。 然后匹配a-,和a 1或a 2。 捕获组1为a或b。 捕获组2是1或2。它是否可以只检查不带符号的数字(如果它存在于lookahea

我写的正则表达式是a | b-?11 | 2它应该做什么:

如果是a,那么a-1是允许的

如果是b,那么b-2是允许的

具有组1=a或b和组2=1或2的

我试过使用?'a'a | b-?a1 | 2,但它给了我不同的数字组,即第3组或第4组

如何将数字组设置为2使用非捕获组

a?=-1 | b?=-2-1 | 2

仅当a后跟-1时匹配a。 仅当b后跟-2时匹配b。 然后匹配a-,和a 1或a 2。 捕获组1为a或b。
捕获组2是1或2。

它是否可以只检查不带符号的数字(如果它存在于lookahead中)或任何方法来检查数字是否出现在lookahead或lookahead中?@MarkElvis?=xxx零宽度正lookahead中的任何内容也是正则表达式,因此它可以匹配任何可以匹配正则表达式的内容。尝试过类似于a | b-?