如何在String和两个点之间找到一些东西?

时间:2016-08-03 16:25:16

标签: java regex

我试图用正则表达式在文本中找到一些值。

文字示例:

COMISION 002 ................... 50.00 ........ 15.060000 ............... 753.00 IVA 21%

我想得到:753.00

我正在使用这个正则表达式:

Pattern pattern = Pattern.compile("(?<=\\.\\.)(.*)(?=IVA 21 %)");

问题是这个正则表达式正在输出:

................. 50.00 ........ 15.060000 ............... 753.00

所以我假设引擎第一次发现两个点(..)设置了限制。

我想要和不能解决的是:“找到”IVA 21%“的字样,然后回头看看我带来的所有数据,直到你看到两个点”

我是正则表达世界的新手,所以任何帮助都是值得欣赏的。

2 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式来捕获您的号码:

\\d+(?:\\.\\d+)?(?= IVA 21 %)

ReEx Demo

在你的正则表达式中,负向后看(?<=\.\.)将在002之后的输入中断言前两个点。

答案 1 :(得分:0)

您可以使用以下正则表达式的第一组。

(\d+.\d+) IVA 21 %

Demo