Към основното съдържание
LibraTool logoLibraTool

Тестер за регулярни изрази — безплатно

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

Работи офлайн след зареждане
//g
Флагове:

g Global — намери всички съвпадения · i Независима от регистър · m Multiline — ^ и $ съвпадат с граници на редове · s Dotall — точката съвпада с нов ред · u Unicode — пълно съвпадение на кодовата точка · y Sticky — всяко съвпадение трябва да започне където завърши предишното

Примери:

Съвпадения

The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs.Въведете шаблон по-горе, за да видите маркираните съвпадения тук.

Често срещани употреби

  • Тестирайте Regex за валидиране на формуляраНапишете и тестирайте регулярни изрази за валидиране на имейли, телефонни номера, пощенски кодове и други входни данни на формуляр.
  • Анализирайте регистъра на сървъра с RegexНапишете regex шаблони, за да извлечете времеви марки, IP адреси, кодове на грешки и структурирани данни от файлове на дневници.
  • Извлечете и замяната текст с RegexИзползвайте regex за намиране на шаблони, извличане на данни или подготовка на операции на търсене и замяна, преди да ги стартирате в редактор.
  • Тестирайте URL маршрутизиране шаблониНапишете и тестирайте regex шаблони за URL маршрутизиране правила в Express, Nginx и Apache.
  • Извлечете данни с RegexИзградете и тестирайте шаблони за извличане на структурирани данни от неструктурирани текст, HTML или markdown.

Как работи

Този инструмент работи изцяло във вашия браузър чрез вградения двигател RegExp на JavaScript — същия двигател, задвижващ всеки скрипт на всеки уебсайт, който посещавате. Никакъв шаблон, тестов текст или резултат от съвпадение никога не се изпраща до сървър.

  1. 1
    Шаблонът се компилира в RegExp
    Докато пишете, инструментът извиква new RegExp(pattern, flags), използвайки флаговете, които сте превключили (g, i, m, s, u, y). Ако шаблонът е синтактично невалиден, уловеното съобщение за грешка се показва вградено незабавно — не е нужен бутон за изпращане.
  2. 2
    Цикъл exec() събира съвпадения
    Двигателят изпълнява re.exec(text) в цикъл, записвайки индекса на символа, дължината, пълната стойност, номерираните захващащи групи и всички именувани групи на всяко съвпадение. Ограничение за безопасност от 10 000 съвпадения предотвратява неконтролирани шаблони, а защита срещу съвпадение с нулева дължина придвижва lastIndex, за да избегне безкрайни цикли.
  3. 3
    Текстът се разделя на подчертани участъци
    Функция buildSegments обхожда отместванията на съвпаденията и нарязва изходния текст на редуващи се несъвпадащи и съвпадащи сегменти. Съвпадащите участъци се обвиват в елементи <mark>, стилизирани с циклични цветове, така че припокриващи се или съседни съвпадения остават визуално различими.
  4. 4
    Режим на замяна чрез String.replace
    Превключването в режим на замяна извиква директно testText.replace(new RegExp(pattern, flags), replacement), което означава, че обратни препратки като $1 и $<name> работят точно както биха в JavaScript код. Резултантният текст се показва на живо и може да бъде копиран в клипборда.

Свързани инструменти

Често задавани въпроси