diff --git a/ph-css/src/main/java/com/helger/css/parser/CSSParseHelper.java b/ph-css/src/main/java/com/helger/css/parser/CSSParseHelper.java index 5a46e0b3..79013ab5 100644 --- a/ph-css/src/main/java/com/helger/css/parser/CSSParseHelper.java +++ b/ph-css/src/main/java/com/helger/css/parser/CSSParseHelper.java @@ -43,10 +43,10 @@ public final class CSSParseHelper /** * Order of the rules in brackets is important!
- * The part "([eE][+-]?[0-9]+)?" was added for #79 + * The parts "([eE][+-]?[0-9]+)?" were added for #79, #82 */ @RegEx - private static final String SPLIT_NUMBER_REGEX = "^([0-9]*\\.[0-9]+|[0-9]+([eE][+-]?[0-9]+)?).*$"; + private static final String SPLIT_NUMBER_REGEX = "^([0-9]*\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+([eE][+-]?[0-9]+)?).*$"; private static final Pattern SPLIT_NUMBER_PATTERN = RegExCache.getPattern (SPLIT_NUMBER_REGEX); @PresentForCodeCoverage diff --git a/ph-css/src/main/jjtree/ParserCSS30.jjt b/ph-css/src/main/jjtree/ParserCSS30.jjt index ab6e9ea0..14bb1a04 100644 --- a/ph-css/src/main/jjtree/ParserCSS30.jjt +++ b/ph-css/src/main/jjtree/ParserCSS30.jjt @@ -174,7 +174,8 @@ TOKEN : | < #NAME: ( )+ > | < #NUM: ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ - | ( ["0"-"9"] )+ ["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+ > + | ( ["0"-"9"] )+ ["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+ + | ( ["0"-"9"] )+ "." ( ["0"-"9"] )+ ["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+ > | < #URLCHAR: ["!","#","$","%","&","*"-"[","]"-"~"] | | > diff --git a/ph-css/src/test/resources/testfiles/css30/good/issue79.css b/ph-css/src/test/resources/testfiles/css30/good/issue79.css index f0071afa..57ec44cc 100644 --- a/ph-css/src/test/resources/testfiles/css30/good/issue79.css +++ b/ph-css/src/test/resources/testfiles/css30/good/issue79.css @@ -9,6 +9,11 @@ div { padding: 999e-06; padding: 999e+6; padding: 999e+06; + padding: 1.5e6; + padding: 1.5e-6; + padding: 1.5e-06; + padding: 1.5e+6; + padding: 1.5e+06; } span { @@ -22,4 +27,9 @@ span { padding: 999e-06em; padding: 999e+6em; padding: 999e+06em; + padding: 1.5e6em; + padding: 1.5e-6em; + padding: 1.5e-06em; + padding: 1.5e+6em; + padding: 1.5e+06em; }