Author: msahyoun
Date: Wed Mar 25 10:49:17 2026
New Revision: 1932541

Log:
PDFBOX-5660: optimize/remove regex

Modified:
   
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
   
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
   
pdfbox/branches/3.0/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java

Modified: 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
   Wed Mar 25 10:46:46 2026        (r1932540)
+++ 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
   Wed Mar 25 10:49:17 2026        (r1932541)
@@ -47,7 +47,7 @@ public class PDFStreamParser extends Bas
      */
     private static final Log LOG = LogFactory.getLog(PDFStreamParser.class);
 
-    private static final Pattern NUMBER_PATTERN = 
Pattern.compile("^\\d*\\.?\\d*$");
+    private static final Pattern NUMBER_PATTERN = 
Pattern.compile("^(?>\\d*)\\.?(?>\\d*)$");
     private static final int MAX_BIN_CHAR_TEST_LENGTH = 10;
     private final byte[] binCharTestArr = new byte[MAX_BIN_CHAR_TEST_LENGTH];
     private int inlineImageDepth = 0;

Modified: 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
 Wed Mar 25 10:46:46 2026        (r1932540)
+++ 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
 Wed Mar 25 10:49:17 2026        (r1932541)
@@ -53,7 +53,7 @@ public class PDFreeTextAppearanceHandler
     private static final Log LOG = 
LogFactory.getLog(PDFreeTextAppearanceHandler.class);
 
     private static final Pattern COLOR_PATTERN =
-            Pattern.compile(".*color\\:\\s*\\#([0-9a-fA-F]{6}).*");
+            Pattern.compile("color:\\s*+#([0-9a-fA-F]{6})");
 
     private float fontSize = 10;
     private COSName fontName = COSName.HELV;

Modified: 
pdfbox/branches/3.0/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java
==============================================================================
--- 
pdfbox/branches/3.0/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java  
    Wed Mar 25 10:46:46 2026        (r1932540)
+++ 
pdfbox/branches/3.0/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java  
    Wed Mar 25 10:49:17 2026        (r1932541)
@@ -282,7 +282,7 @@ public class TextToPDF implements Callab
             // the text.
             textIsEmpty = false;
 
-            String[] lineWords = nextLine.replaceAll("[\\n\\r]+$", "").split(" 
", -1);
+            String[] lineWords = nextLine.split(" ", -1);
             int lineIndex = 0;
             while (lineIndex < lineWords.length)
             {

Reply via email to