我有以下字符串:
Weight :: 1390 - 1430 Sizes :: 1450 - 1480 - 1530 - 1600 - 1700 - 1800 Min :: 1350我想得到所有尺寸的价值。在这个例子中,它将是1450,1480,1530,1600,1700,1800。可用大小的数量是可变的。可能在2-10次之间。
我已经尝试了以下模式:
(?i)sizes :: *(?=.*)(?:(\d*)( - )*) .*min
但是,我只得到第一个值(1450)。
如果使用此模式,则group1中有所有可用的值。但后来我被困住了。
(?i)sizes :: *(.*) .*min
发布于 2018-11-15 20:55:06
你可以用消极的眼光看后面,就像这样:
@"(?<=Sizes.*)\d+(?<!Min.*)"它使用look behind,查找'Sizes',后面跟着任意数量的字符。
然后它匹配任意数量的digits。
最后,它使用了一个负面的后面看,寻找'Min'。这使得它停止匹配,当它到达那个词时。
https://stackoverflow.com/questions/53327647
复制相似问题