Author: fanningpj
Date: Mon Jan 18 14:20:02 2021
New Revision: 1885651

URL: http://svn.apache.org/viewvc?rev=1885651&view=rev
Log:
[github-215] Improve Performance of OperandResolver#parseDouble. Thanks to 
Robert Wenzel. This closes #215

Modified:
    poi/trunk/src/java/org/apache/poi/ss/formula/eval/OperandResolver.java

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/eval/OperandResolver.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/eval/OperandResolver.java?rev=1885651&r1=1885650&r2=1885651&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/eval/OperandResolver.java 
(original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/eval/OperandResolver.java Mon 
Jan 18 14:20:02 2021
@@ -41,8 +41,8 @@ public final class OperandResolver {
                  "[+-]?(" +
                    "("+Digits+"(\\.)?("+Digits+"?)("+Exp+")?)|"+
                  "(\\."+Digits+"("+Exp+")?))"+
-                 "[\\x00-\\x20]*"); 
-            
+                 "[\\x00-\\x20]*");
+    private static final Pattern fpPattern = Pattern.compile(fpRegex);
     
     private OperandResolver() {
         // no instances of this class
@@ -291,8 +291,8 @@ public final class OperandResolver {
      * @return <code>null</code> if the specified text cannot be parsed as a 
number
      */
     public static Double parseDouble(String pText) {
-        
-        if (Pattern.matches(fpRegex, pText))
+
+        if (fpPattern.matcher(pText).matches())
             try {
                 return Double.parseDouble(pText);
             } catch (NumberFormatException e) {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org
For additional commands, e-mail: commits-h...@poi.apache.org

Reply via email to