Java で正規表現を作成しています。ここでは、文字列のcss "margin:" 省略形プロパティで下マージンを見つけて、それが負かどうかを確認しようとしています。margin プロパティは、1、2、3、または 4 つの値で指定でき、px、emまたは%で終わります。値は負の値またはドットで始まる場合があります。値は 1 つ以上の空白で区切られます。これまでに試行されたのは、次のような正規表現です。
//E.g. style may look like "... margin: 10px 2px" or "... margin: -.10em 1em 2em" etc.
public void findMargin(String style)
{
Pattern compile = Pattern.compile("margin:\\s*(-?\\.?\\d+(?:em|px|%)\\s*){1,4}");
Matcher matcher = compile.matcher(style);
while (matcher.find())
{
.....
}
}
ボトムマージンプロパティの抽出を見つけるのに問題があります。それを達成する方法について誰かが意見を持っていますか?