我有一个无法正确提取的正则表达式。我想提取第一个表达式,然后跳过可变数量的行,直到下一个表达式。 现在,我正在执行以下操作,但是它不会提取NEXT表达式,而是提取LAST。
测试字符串:
you
sell
sell
buy
net premium
no. of units
500
500
2000
maturity
strike
230
230
215
现在使用常规快递:
(buy|sell)
(buy|sell)
(buy|sell)
(?s).*
(\d*)
(\d*)
(\d*)
立即获得结果:
sell
sell
buy
230
230
215
预期结果:
sell
sell
buy
500
500
2000
答案 0 :(得分:0)
@Sweeper找到了答案。
使用(?s).*?
代替(?s).*
还在以下链接中找到了解释差异的链接:
What is the difference between .*? and .* regular expressions?