0
我使用的java.util.regex
,我也很難構造正則表達式來提取此類型的文本:Java的正則表達式集團或操作員
Manufacturer : ABC Inc. Price : ...
Manufacturer : ABC Inc. Quantity : ...
我要的是公司的名字在不同的文字後面跟着文字Manufacturer :
,但它可能跟着Price
或Quantity
,我不知道如何在Java中實現它。
我迄今所做的:
Pattern.compile("Manufacturer #:(.*)Price")
Pattern.compile("Manufacturer #:(.*)Quantity")
,我還可以使用
Pattern mypattern = Pattern.compile("Manufacturer #:(.*)Price");
Matcher mymatcher = mypattern.matcher("Manufacturer #: ABC company Price");
if (mymatcher.find()) {
WhatIWant = mymatcher.group(1);
}
提取parenthese的一部分,但我不知道如何將它們結合在一起,我想Manufacturer #:(.*)Price|Quantity
和似乎它不起作用。
任何幫助,將不勝感激!
更新:我只是意識到下來文本的段落,也有一些price
和quantity
,這其中*
搜索會吃掉整個文本...
真正得到匹配的組中,文本中包含'quantity'和'price'否則哪個'*'貪婪地吃掉整個段落.. –
正如我使用'。*?'所以它會以非貪婪的方式看待。看看更新的演示。 – Braj