Регекс тестер

Тестирајте JavaScript регуларне изразе на примеру текста, директно у свом прегледачу.

Шаблон
Заставице
Тестни стринг
Истакнута подударања
Унесите шаблон да бисте га тестирали.

Ваш шаблон и текст се тестирају у Вашем прегледачу. Ништа се не отпрема на BroBroGo.

Честа питања

Да ли је безбедно да овде налепим свој текст?

Да. Подударање се одвија у потпуности у Вашем прегледачу — ништа се не шаље на BroBroGo.

Шта значе заставице g/i/m/s?

g проналази сва подударања уместо само првог. i игнорише велика и мала слова. m омогућава да ^ и $ означавају почетак и крај сваког реда уместо само целог стринга. s омогућава да тачка (.) обухвати и преломе редова.

Зашто ми се појавила порука да извршавање шаблона траје превише дуго?

Неки шаблони изазивају катастрофално враћање уназад (catastrophic backtracking) — покретач испробава експоненцијални број комбинација пре него што одустане, што може замрзнути картицу прегледача. Овај алат прекида подударање након 2 секунде ако се то догоди, тако да се сама страница никада не блокира. Покушајте да поједноставите угнежђена понављања попут (a+)+.

Функционисање JavaScript регуларних израза

Регуларни изрази (regex) представљају моћан алат за претрагу, валидацију и манипулацију текстом унутар веб развоја и програмирања. Овај алат омогућава тестирање JavaScript регуларних израза директно у веб прегледачу. Систем тренутно истаче свако подударање и групу за хватање, пружајући јасан увид у то како се унети шаблон понаша са различитим улазним подацима.

Процес тестирања се заснива на уносу два главна елемента: шаблона (регуларног израза) и тестног стринга. На основу ових параметара, покретач у прегледачу анализира текст и враћа визуелне резултате у реалном времену.

Улазни параметри за тестирање

Да бисте започели тестирање, потребно је дефинисати следеће улазне вредности у корисничком интерфејсу:

  • Шаблон: Регуларни израз који желите да тестирате. Као пример за шаблон у пољу се користи вредност \d+.
  • Заставице: Опције које мењају начин на који покретач интерпретира шаблон:
    • g (Глобално): Проналази сва подударања унутар тестног стринга, уместо да се заустави након првог пронађеног подударања.
    • i (Неосетљиво на велика и мала слова): Игнорише разлику између великих и малих слова приликом претраге.
    • m (Више редова): Омогућава да метакарактери ^ и $ означавају почетак и крај сваког појединачног реда, уместо почетка и краја комплетног стринга.
    • s (Тачка обухвата и нови ред): Омогућава да знак тачке (.) обухвати и знакове за прелом реда.
  • Тестни стринг: Текст на којем се врши провера шаблона. Као пример у пољу стоји текст "Налепите или упишите текст на којем желите да тестирате шаблон".

Интерпретација излазних резултата

Након уноса шаблона и тестног стринга, алат приказује следеће излазне податке:

  • Истакнута подударања: Тестни стринг у којем су сви пронађени делови визуелно означени.
  • Подударања: Листа свих пронађених резултата. Уколико шаблон садржи заграде за груписање, свако појединачно подударање може да прикаже и ставку Група {n}, која представља вредност коју је та специфична група ухватила.
  • Подударања: {count}: Укупан број пронађених подударања у тексту.
  • Знакови: Укупан број знакова у тестном стрингу.

Правила рада и гранични случајеви

Приликом рада са алатом примењују се специфична техничка правила и ограничења како би се обезбедила стабилност прегледача:

  • Ако у тексту нема резултата који одговарају шаблону, алат исписује поруку "Нема подударања.".
  • У случају уноса синтаксички неисправног шаблона, појављује се грешка "Неважећи регуларни израз.".
  • Ако извршавање шаблона траје дуже од 2 секунде, алат аутоматски прекида процес и приказује упозорење: "Извршавање овог шаблона траје превише дуго — можда је катастрофално спор. Покушајте да га поједноставите.". Ово спречава блокирање картице прегледача услед сложених повратних петљи.
  • Ако заставица 'g' није активна, систем ће пронаћи и вратити искључиво прво подударање у тексту.
  • Када је заставица 'g' активна, максималан број подударања који алат може да врати је 1.000.
  • Приказ картица са детаљима подударања је ограничен на највише 100 картица када је активна заставица 'g'.
  • Ако број резултата пређе дефинисани лимит за приказ, појављује се напомена "Приказује се првих {max} резултата.".
  • Кликом на дугме "Обриши", сви уноси се ресетују, а систем приказује статус "Обрисано.".

Оптимизација перформанси и избегавање грешака

Један од најчешћих проблема при писању регуларних израза је катастрофално враћање уназад (catastrophic backtracking). Ова појава се дешава када шаблон садржи угнежђена понављања, као што је на пример (a+)+, над текстом који је скоро идентичан шаблону али се разликује на самом крају. Покретач тада покушава да испита експоненцијални број комбинација како би пронашао подударање, што доводи до преоптерећења процесора.

Да бисте оптимизовали перформансе својих израза у веб апликацијама, препоручује се избегавање преклапања унутар група са квантификаторима и поједностављивање сложених израза кад год је то могуће.

Приватност и обрада података

Ваш шаблон и текст се тестирају у Вашем прегледачу. Ништа се не отпрема на BroBroGo. Комплетна обрада се врши локално на вашем уређају, што значи да унети подаци не напуштају ваш веб прегледач током коришћења овог алата.

Често постављана питања (FAQ)

Да ли је безбедно да овде налепим свој текст?
Да. Подударање се одвија у потпуности у Вашем прегледачу — ништа се не шаље на BroBroGo.

Шта значе заставице g/i/m/s?
g проналази сва подударања уместо само првог. i игнорише велика и мала слова. m омогућава да ^ и $ означавају почетак и крај сваког реда уместо само целог стринга. s омогућава да тачка (.) обухвати и преломе редова.

Зашто ми се појавила порука да извршавање шаблона траје превише дуго?
Неки шаблони изазивају катастрофално враћање уназад (catastrophic backtracking) — покретач испробава експоненцијални број комбинација пре него што одустане, што може замрзнути картицу прегледача. Овај алат прекида подударање након 2 секунде ако се то догоди, тако да се сама страница никада не блокира. Покушајте да поједноставите угнежђена понављања попут (a+)+.