Author: msahyoun
Date: Wed Mar 25 10:41:25 2026
New Revision: 1932538

Log:
PDFBOX-5660: optimize/remove regex

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

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
  Wed Mar 25 10:12:54 2026        (r1932537)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
  Wed Mar 25 10:41:25 2026        (r1932538)
@@ -47,7 +47,7 @@ public class PDFStreamParser extends COS
      */
     private static final Logger LOG = 
LogManager.getLogger(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/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
        Wed Mar 25 10:12:54 2026        (r1932537)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
        Wed Mar 25 10:41:25 2026        (r1932538)
@@ -53,7 +53,7 @@ public class PDFreeTextAppearanceHandler
     private static final Logger LOG = 
LogManager.getLogger(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/trunk/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java     
Wed Mar 25 10:12:54 2026        (r1932537)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java     
Wed Mar 25 10:41:25 2026        (r1932538)
@@ -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