Тестувальник регулярних виразів

Тестуйте регулярні вирази JavaScript на зразках тексту, переглядайте групи захоплення та іменовані групи, а також попередньо переглядайте результат заміни локально в браузері.

Усі тести регулярних виразів виконуються локально у вашому браузері. Поточний шаблон, прапори, текст заміни та приклад тексту зберігаються у хеші URL для зручного копіювання та вставки.
0 символи
Не включайте обгорткові слеші
Прапориg

Підтримувані прапори: global, ignore case, multiline, dotAll, unicode, і sticky.

Необов'язково: використовуйте групи $1 або $<name>

Швидкі приклади

Перевірте регулярні вирази JavaScript на прикладах тексту

Використовуйте цей інструмент, коли потрібно перевірити, що відповідає JavaScript-Regex перед його використанням у фронтенді, Node.js або TypeScript.

Вставте приклад тексту, введіть шаблон без обрамлення слешами, виберіть прапори, а потім перегляньте збіги, групи та результат заміни.

Що означає кожен результат

  • Виділені збіги показує, де шаблон співпав у прикладному тексті.
  • Збіги та групи перелічує діапазони збігів, нумеровані групи та іменовані групи.
  • Попередній перегляд заміни передбачає JavaScript String.replace() з вашим рядком заміни.
  • Копіювати match JSON копіює структуровані дані збігів. Копіювати результат заміни копіює текст попереднього перегляду заміни.
  • Копіювати URL копіює поточний шаблон, прапори, заміну та приклад тексту в хеші URL.

Підтримувані прапори

Flag Name Effect
g Global Знаходити всі збіги замість лише першого.
i Ігнорувати регістр Збіг літер без врахування регістру.
m Multiline Make ^ and $ працюють на кожному рядку.
s DotAll Let . дозволяє '.' відповідати символам нового рядка.
u Unicode Використовувати правила відповідності з урахуванням Unicode.
y Sticky Відповідати лише з поточного JavaScript lastIndex.

Limits

  • Це тестувальник JavaScript RegExp тестер, а не PCRE, Python, Java, SQL або .NET тестувальник регулярних виразів.
  • Приклад тексту та зібрані збіги обмежені, щоб сторінка залишалась чутливою.
  • Деякі очевидні шаблони з вкладеними квантифікаторами блокуються, але це не повний аналізатор ReDoS.
  • JavaScript не надає синхронного тайм-ауту для одного виконання регулярного виразу.
  • Хеші URL можуть містити вставлений приклад тексту. Видаліть приватні логи або секрети перед тим, як ділитися скопійованим URL.

Часті запитання

Який синтаксис регулярних виразів використовує ця сторінка?

Використовує JavaScript RegExp синтаксис. Використовуйте його для роботи з регулярними виразами в браузері, Node.js і TypeScript. Шаблони, написані для PCRE, Python, Java, SQL або .NET, можуть поводитися по-іншому.

Чому я бачу тільки один збіг?

Додайте прапор g, JavaScript зазвичай повертає перший збіг. g прапор для збору всіх збігів. Без g, JavaScript зазвичай повертає перший збіг.

Чи можу я використовувати іменовані групи в замінах?

Так. Іменовані групи, такі як (?<level>ERROR|WARN) з’являються в деталях збігів і можуть бути повторно використані в тексті заміни як $<level>.

Яка різниця між Копіювати match JSON і Копіювати результат заміни?

Копіювати match JSON копіює діапазони збігів і групи у форматі JSON. Копіювати результат заміни копіює текст, отриманий у попередньому перегляді заміни.

Чи може це виявити небезпечні шаблони зворотного обходу?

Лише частково. Інструмент блокує деякі очевидні шаблони з вкладеними квантифікаторами та обмежує розмір вводу, але це не повний аналізатор ReDoS.