如何重用正则表达式的组匹配数?

时间:2016-08-28 09:59:40

标签: regex robotframework

我正在使用此正则表达式^x{3}y{3}$来检查此字符串:xxxyyy,其中x的数量与y的数量相同(在我的例子中是3)。但问题是我不知道重复的次数(它在010的范围内),所以3必须用抽象的东西替换。

我可以使用^x*y*$^x{0,10}y{0,10}$,但当x的数量与y的数量不同时,这将不起作用。

我正在寻找类似于\1的内容,用于重用匹配的群组,但在我的情况下,我想重用x的群组匹配数。

1 个答案:

答案 0 :(得分:2)

由于您已获得固定的上限,您可以直接列出匹配的内容:

//BUTTON INDEX & MAX COUNT
-(NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController{
    return [self.pageImages count];}

-(NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController{
    return  buttonIndex;}

^(x{10}y{10}|x{9}y{9}|x{8}y{8}|x{7}y{7}|x{6}y{6}|x{5}y{5}|x{4}y{4}|x{3}y{3}|x{2}y{2}|xy)?$ 处理你的"每个"案件的零。)

显然,如果 x y 在实践中很长,那么这里会有很多重复。

另一种方法是用空字符串重复替换?,并检查最终是否为空字符串(因为每次删除一对时,您都会将另一对结合在一起)。