我是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*=.*?");
答案 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”字符串,然后你可以检查它。如需更多信息,请发表您的问题。