Index: trunk/src/com/kitfox/svg/SVGElement.java
===================================================================
--- trunk/src/com/kitfox/svg/SVGElement.java	(revision 14598)
+++ trunk/src/com/kitfox/svg/SVGElement.java	(revision 14643)
@@ -586,7 +586,8 @@
     }
 
+    private static final Pattern TRANSFORM_PATTERN = Pattern.compile("\\w+\\([^)]*\\)");
     static protected AffineTransform parseTransform(String val) throws SVGException
     {
-        final Matcher matchExpression = Pattern.compile("\\w+\\([^)]*\\)").matcher("");
+        final Matcher matchExpression = TRANSFORM_PATTERN.matcher("");
 
         AffineTransform retXform = new AffineTransform();
@@ -601,7 +602,8 @@
     }
 
+    private static final Pattern WORD_PATTERN = Pattern.compile("([a-zA-Z]+|-?\\d+(\\.\\d+)?(e-?\\d+)?|-?\\.\\d+(e-?\\d+)?)");
     static public AffineTransform parseSingleTransform(String val) throws SVGException
     {
-        final Matcher matchWord = Pattern.compile("([a-zA-Z]+|-?\\d+(\\.\\d+)?(e-?\\d+)?|-?\\.\\d+(e-?\\d+)?)").matcher("");
+        final Matcher matchWord = WORD_PATTERN.matcher("");
 
         AffineTransform retXform = new AffineTransform();
@@ -682,7 +684,8 @@
     }
 
+    private static final Pattern COMMAND_PATTERN = Pattern.compile("([MmLlHhVvAaQqTtCcSsZz])|([-+]?((\\d*\\.\\d+)|(\\d+))([eE][-+]?\\d+)?)");
     static protected PathCommand[] parsePathList(String list)
     {
-        final Matcher matchPathCmd = Pattern.compile("([MmLlHhVvAaQqTtCcSsZz])|([-+]?((\\d*\\.\\d+)|(\\d+))([eE][-+]?\\d+)?)").matcher(list);
+        final Matcher matchPathCmd = COMMAND_PATTERN.matcher(list);
 
         //Tokenize
