Ekstraktor Regex Output LLM
Wyciągaj strukturalne dane (JSON, code blocki, pary klucz-wartość) z bałaganu w odpowiedziach LLM. Wybierz z popularnych szablonów albo napisz własną regex. Podgląd na żywo.
Wpisz dane powyżej, aby zobaczyć wynik.
Do czego to służy?
Poprosiłeś LLM o JSON. Dał ci JSON owinięty w fence'y ```json z preambułą „Pewnie, oto!". Albo „odpowiedź to 42", kiedy chciałeś tylko 42. Albo numerowaną listę, kiedy prosiłeś o string oddzielony przecinkami. Witaj w problemie parsowania, którego nikt naprawdę nie rozwiązuje. To narzędzie trzyma małą bibliotekę popularnych patternów ekstrakcji plus wolny edytor regex, żebyś mógł iterować pattern na swoim realnym tekście odpowiedzi w przeglądarce.
Kiedy tego użyć
- Projektowanie parsera outputu dla pipeline'u agenta. Wrzuć kilka prawdziwych odpowiedzi, zbuduj regex, który je wszystkie obsłuży, wklej do kodu.
- Debug zepsutego parsera. Twój prodowy pipeline zaczął padać, bo model dodał „Oto JSON:" przed fence'em. Zobacz dokładnie, gdzie twoja regex przestaje matchować.
- Szybka jednorazowa ekstrakcja. Masz dziesięć odpowiedzi LLM w docu; trzeba wyciągnąć strukturalną część z każdej. Wklej, dopasuj, skopiuj, dalej.
Szablony
- JSON w fence ```json — najczęstszy przypadek. Łapie grupę 1 = treść. Użyj
g, jeśli może być wiele fence'ów. - JSON w dowolnym fence — ten sam pomysł, ale tag języka jest opcjonalny, łapiemy tylko, jeśli treść wygląda jak
{ … }lub[ … ]. - YAML w fence — jak JSON-fence, ale matchuje
```yaml/```yml. - Dowolny fenced code block — łapie tag języka + treść. Gdy nie wiesz, co jest w środku.
- Goły obiekt JSON — chciwy match od pierwszego
{do ostatniego}. Kruchy, ale działa dla odpowiedzi „tylko JSON". - Elementy listy numerowanej —
^\s*\d+[.)]\s*(.+)$zgm. Łapie tekst każdego elementu bez numeracji. - Pary key: value — linia po linii. Grupa 1 = klucz, grupa 2 = wartość. Zatrzymuje się przy pierwszym dwukropku.
- Pojedynczy label klasyfikacji — przydatne dla klasyfikatorów sentymentu / safety, które mają odpowiedzieć jednym słowem.
- Custom regex — wyczyść pattern i napisz własny.
Linia „Parsed JSON"
Jeśli pierwsza grupa łapiąca (a w razie czego cały match) parsuje się jako JSON, narzędzie wyświetla sparsowany wynik pod grupami. To mówi nie tylko „czy regex zmatchował", ale „czy zmatchował tę część, której chciałeś, w sposób JSON-dekodowalny". Jeśli parsing pada, linia zostaje pusta.
Częste pułapki
- Regex JavaScript, nie PCRE. Brak
\K, brak rekurencji. Lookbehind wymaga nowoczesnych przeglądarek (po 2018 — tu ok, ale uważaj, jeśli kopiujesz pattern gdzie indziej). - Model owija swój JSON w komentarz. Nie próbuj szukać
{na początku stringa — znajdź fence albo użyj tolerancyjnego non-greedy capture. - Trailing commas w „JSON" wyjścia. Niektóre modele wsadzają trailing commas mimo treningu. Regex matchnie;
JSON.parsepadnie. Wytnij trailing commas przed parsowaniem. - „JSON" z apostrofami. Ta sama historia — wygląda jak JSON, nim nie jest, regex'a nie obchodzi,
JSON.parseobchodzi. - Zagnieżdżone fence'y. Jeśli model wstawi przykład fence'a markdown wewnątrz odpowiedzi, możesz mieć fałszywy match na wewnętrznym. Testuj z realistycznymi danymi.
- Nie używaj regex do poważnej ekstrakcji zagnieżdżonych nawiasów. Jeśli model zwraca obiekt zawierający obiekt zawierający tablicę obiektów, napisz prawdziwy JSON-świadomy ekstraktor — albo poproś o formę fence i sparsuj treść.
- Prywatność. Tekst i pattern zostają na stronie. Bez uploadu, bez wywołania API.