Java正则表达式匹配模式

时间:2012-11-27 06:09:31

标签: java regex

我是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*=.*?");

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

String a = yourString.replaceAll(“[^ \ w \ s]”,“”); 通过使用它你将得到“someproperty”和“somevalue”字符串,然后你可以检查它。如需更多信息,请发表您的问题。