When a backward greedy loop backtracked toward the right edge of the input, the optimized scan for a following Char instruction could stop making progress at end of input and loop forever. This made patterns like /(?<=a.?)/ hang on non-matching input. |
||
|---|---|---|
| .. | ||
| Rust | ||
| CMakeLists.txt | ||
| ECMAScriptRegex.cpp | ||
| ECMAScriptRegex.h | ||
| RustRegex.cpp | ||
| RustRegex.h | ||