2012-11-27 54 views
0

我是Java新手。請幫助我使用Java正則表達式來匹配模式並檢索值。 我需要波紋管匹配的模式:Java正則表達式匹配模式

\# someproperty=somevalue // this is a new property 

\#someproperty=somevalue // this is a new property 

我要匹配上述模式(其可以包含空格),我需要檢索"someproperty""somevalue"

我試着用下面的模式,但它只匹配someproperty=somevalue,沒有"#"在開始。請幫助我。

Pattern propertyKeyPattern = Pattern.compile("^\\s*(\\S+?)\\s*=.*?"); 
+1

刪除'^'或後添加一個'#' 。 – tjameson

+0

'#這是一個新的屬性'的一部分字符串?還是評論? –

+0

@Rohit:這是一條評論 – Mojoy

回答

2

如果要匹配整個字符串並查找模式,例如「\# someproperty =some value」。 嘗試正則表達式

^\\#\s*(\S+?)\s*=(.*)$ 

爲Java字符串,它是

"^\\\\#\\s*(\\S+?)\\s*=(.*)$" 

字符串\# someproperty = a some value的比賽結果是

matches() = Yes 

find() = Yes 

group(0) = \# someproperty = a some value 

group(1) = someproperty 

group(2) = a some value 
0

String a = yourString.replaceAll(「[^ \ w \ s]」,「」); 通過使用這個,你會得到「someproperty」和「somevalue」字符串,然後你可以檢查它。爲更多發佈您的問題清楚。