这是一个通用的正则表达式问题,我也找不到答案。
假设我有一些输入字符串:
...A-A-B...
...B-A-A...
...A-B-A...
...B-B-A...
我有两个分隔符A和B. 我想做的是找到其中一个,然后再寻找另一个。现在我知道我可以做到(A.*B)|(B.*A)这将匹配我想要的所有四个字符串。
我也可以(A|B).*\1匹配A-A第一个和第二个字符串,A-B-A第三个和B-B最后一个字符串。
我可以做一些类似的事情(A|B).*[^\1],找到两个令牌中的一个然后找到另一个令牌吗?
对于上下文,我对此很感兴趣,因为这个问题,在哪里A和B是用于货币匹配的点或逗号,但我认为这在很多情况下可能很有用,因此是通用问题。