2011-08-28 100 views
2

我想把整行作爲我的輸出。例如,當我輸入kp1 我希望整行CVBN ....返回。正則表達式Java,返回整行?

begin abc 
CVBN(r,t,t) + PPP(l,r) <-> ZEK(r!1).R(l!1,r) kp1,km1 
TNBC(l,r) + SSR(r,t,t) <-> KPT(l,r!1).XXXX(l,r!1) kp2,km2 
TLCX(l!+,(r,t,t)) + VV(l!+,r) <-> BB(l!+,r!1).R(l!+,r!1) kp3,km3 
end abc 

我試過如下:

Pattern pattern = Pattern.compile("kp1"); 
Matcher matcher = pattern.matcher(mytextFromAbove); 

// Find all matches 
while (matcher.find()) 
{ 
    // Get the matching string 
    match = matcher.group(); 
} 

這隻能返回字符串KP1。 任何幫助真的很感激。

謝謝。

+0

令人驚訝的是,它讓我感到驚訝。除非接口發生了顯着變化,否則它看起來好像使用長文本_作爲正則表達式_並搜索它在字符串「kp1」中描述的內容。 –

+0

謝謝..我糾正了......但仍然無效。 – RnD

回答

5

將您的表情更改爲^.*kp1.*$

+2

你也應該啓用'MULTILINE'爲你的模式:'... Pattern.compile(「^。* kp1。* $」,Pattern.MULTILINE);' –

+0

爲什麼他需要多行,如果他匹配一行? –

+0

@MK:如果您不指定多行,那些錨符合輸入的開始和結束,而不是一行。 –