Author: msahyoun
Date: Wed Mar 25 10:56:13 2026
New Revision: 1932543

Log:
PDFBOX-5660: optimize/remove regex

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

Modified: 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
==============================================================================
--- 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
   Wed Mar 25 10:50:11 2026        (r1932542)
+++ 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
   Wed Mar 25 10:56:13 2026        (r1932543)
@@ -51,7 +51,7 @@ public class PDFStreamParser extends Bas
 
     private final List<Object> streamObjects = new ArrayList<Object>( 100 );
     
-    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/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
==============================================================================
--- 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
 Wed Mar 25 10:50:11 2026        (r1932542)
+++ 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
 Wed Mar 25 10:56:13 2026        (r1932543)
@@ -55,7 +55,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/2.0/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java
==============================================================================
--- 
pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java  
    Wed Mar 25 10:50:11 2026        (r1932542)
+++ 
pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java  
    Wed Mar 25 10:56:13 2026        (r1932543)
@@ -149,7 +149,7 @@ public class TextToPDF
             // 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