[Retrace] Do not match a digit as first character

Bug: b/300416467
Change-Id: I4e2c0c200fe09d6d4671a199d16c85bef15a4f27
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceRegularExpressionParser.java b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceRegularExpressionParser.java
index c3b01ce..3805bc6 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceRegularExpressionParser.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceRegularExpressionParser.java
@@ -168,7 +168,10 @@
     }
   }
 
-  private static final String identifierSegment = "[^\\s\\[;:(<]+";
+  private static final String notAllowedCharacters = "\\s\\[;:(<";
+  private static final String identifierPrefix = "[^\\d" + notAllowedCharacters + "]";
+  private static final String identifierSuffix = "[^" + notAllowedCharacters + "]*";
+  private static final String identifierSegment = identifierPrefix + identifierSuffix;
 
   private static final String METHOD_NAME_REGULAR_EXPRESSION =
       "(?:(" + identifierSegment + "|\\<init\\>|\\<clinit\\>))";
diff --git a/src/test/java/com/android/tools/r8/retrace/StackTraceRegularExpressionParserTests.java b/src/test/java/com/android/tools/r8/retrace/StackTraceRegularExpressionParserTests.java
index 5917603..abcf319 100644
--- a/src/test/java/com/android/tools/r8/retrace/StackTraceRegularExpressionParserTests.java
+++ b/src/test/java/com/android/tools/r8/retrace/StackTraceRegularExpressionParserTests.java
@@ -1172,9 +1172,8 @@
                 "                                     method                 future  (Note: all"
                     + " times are in ms. relative to TaskGraph creation)",
                 "    requested,   queued,  started, finished (+  latency), finished, task",
-                // TODO(b/300416467): We could retrace this correctly.
                 "        0.057,    1.290,    2.690,    3.408 (+    0.718),    66.376,"
-                    + " foo.bar.baz.c.b.a.c.b.a.a.b, 0, 6, 0",
+                    + " some.original.factory, 0, 6, 0",
                 "");
           }
 
@@ -1185,9 +1184,8 @@
                 "                                     method                 future  (Note: all"
                     + " times are in ms. relative to TaskGraph creation)",
                 "    requested,   queued,  started, finished (+  latency), finished, task",
-                // TODO(b/300416467): We could retrace this correctly.
                 "        0.057,    1.290,    2.690,    3.408 (+    0.718),    66.376,"
-                    + " foo.bar.baz.c.b.a.c.b.a.a.b, 0, 6, 0",
+                    + " some.original.factory, 0, 6, 0",
                 "");
           }