我是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*=.*?");
最佳答案
如果要匹配整个字符串并查找模式,例如“ \# 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