Пояснення
Як працює Тестер Regex
Regex-Tester обчислює регулярний вираз (синтаксис JavaScript/ECMAScript) над тестовим текстом і показує збіги, їх позицію, а також захоплені групи. За допомогою прапорців ви керуєте, зокрема, глобальним пошуком (g), регістром (i) та багаторядковою поведінкою (m).
Важливо для безпеки: введений користувачем шаблон може через «катастрофічний backtracking» обчислюватися як завгодно довго. Просте обмеження довжини вводу від цього не захищає. Тому обчислення виконується в окремому Web Worker; якщо він не відповідає протягом короткого часу, його жорстко перериває та відкидає. Головний потік — а отже й інтерфейс — залишається реактивним у будь-який момент.
Межі цього інструмента
- Лише синтаксис регулярних виразів JavaScript — особливості PCRE/.NET відсутні.
- Блокуючі шаблони перериваються, а не «виправляються».
- Максимум 1000 оброблених збігів (наведено перші 100).
Джерела
- ECMAScript Specification: Синтаксис і семантика RegExp.
- OWASP: Regular expression Denial of Service (ReDoS).