我是regex的新手,我想解决以下问题。我想找出正则表达式中的最后一个数字,下一个数字应该只允许加1。
下面是一个示例:
123+4这应该是可行的,因为最后一个数字是3,+后面的下一个数字是4 (3加1)
123+3这应该不起作用,因为最后一个数字是3,加号后面的下一个数字也是3
有人知道我怎么解决这个问题吗?
发布于 2021-07-05 00:18:50
这样如何:
\d*(?:(?:1\+2)|(?:2\+3)|(?:3\+4)|(?:4\+5)(?:5\+6)|(?:6\+7)|(?:7\+8)|(?:8\+9))解释:
没有什么花哨的技巧可以使用,您所能做的就是对解决方案中给出的每个数字组合使用正则表达式非捕获组。非捕获组允许我们将序列组合在括号中,而不是使它们成为单独的捕获组。它的用法如下:(?:sequence here)
https://stackoverflow.com/questions/68246660
复制相似问题