Regex LLM Output Extractor
गन्दे LLM responses से structured data (JSON, code blocks, key-value pairs) निकालें। आम templates में से चुनें या अपना regex लिखें। Live preview।
परिणाम देखने के लिए ऊपर इनपुट डालें।
यह किसके लिए है?
आपने LLM से JSON माँगा। उसने आपको ```json fences में लिपटा JSON दिया एक "ज़रूर, यह रहा!" preamble के साथ। या आपने 42 चाहा था और उसने "जवाब 42 है" दे दिया। या comma-separated string माँगने पर numbered list दे दी। उस parsing problem में आपका स्वागत है जिसका कोई असली solution ship नहीं करता। यह tool common extraction patterns की एक छोटी library रखता है plus free-form regex editor, ताकि आप अपने actual response text के साथ pattern को browser में iterate कर सकें।
कब इस्तेमाल करें
- Agent pipeline के लिए output parser design करना। कुछ असली responses डालें, एक regex बनाएँ जो उन सभी को संभाले, अपने code में paste करें।
- टूटे parser को debug करना। आपकी prod pipeline fail होने लगी क्योंकि model ने fence से पहले "यह रहा JSON:" जोड़ दिया। ठीक देखें कि आपका regex कहाँ match करना बंद करता है।
- तेज़ one-off extraction। एक doc में दस LLM responses हैं; हर एक से structured हिस्सा निकालना है। Paste, match, copy, आगे बढ़ें।
Templates
- ```json code fence में JSON — सबसे आम case। Group 1 = body को capture करता है। यदि कई fences हो सकते हैं तो
gflag का use करें। - किसी भी code fence में JSON — वही idea पर language tag optional है और हम केवल तब capture करते हैं जब body
{ … }या[ … ]जैसी दिखे। - Code fence में YAML — JSON-fence जैसा पर
```yaml/```ymlmatch करता है। - कोई भी fenced code block — language tag + body capture करता है। जब आप नहीं जानते अंदर क्या है तो use करें।
- Plain JSON object — पहले
{से अंतिम}तक greedy match। नाज़ुक पर "बस JSON, कोई chrome नहीं" responses के लिए काम करता है। - Numbered list items —
gmके साथ^\s*\d+[.)]\s*(.+)$। हर item का text capture करता है, numbering के बिना। - key: value pairs — line by line। Group 1 = key, group 2 = value। पहले colon पर रुकता है।
- Single classification label — sentiment / safety classifiers के लिए उपयोगी जो एक word से जवाब देने चाहिए।
- Custom regex — pattern साफ़ करें और अपना लिखें।
"Parsed JSON" line
अगर पहला capture group (या असफल होने पर full match) JSON के रूप में parse हो जाता है, tool groups के नीचे parsed result print कर देता है। यह बताता है केवल "क्या regex match हुआ" नहीं, बल्कि "क्या उसने वह हिस्सा match किया जो आप चाहते थे, JSON-decodable तरीके से"। अगर parsing fail होता है, वह line खाली रहती है।
आम गलतियाँ
- JavaScript regex, PCRE नहीं। कोई
\Kनहीं, कोई recursive patterns नहीं। Lookbehind को modern browsers चाहिए (2018 के बाद — यहाँ ठीक है पर pattern को कहीं और copy करते समय ध्यान रखें)। - Model अपने JSON को commentary में लपेटता है। String के शुरू में
{ढूँढने की कोशिश न करें — fence ढूँढें या tolerant non-greedy capture का use करें। - "JSON" output में trailing commas। कुछ models training के बावजूद trailing commas डाल देते हैं। Regex match काम करेगा;
JSON.parsefail होगा। Parse से पहले trailing commas हटा दें। - Single-quoted "JSON"। वही कहानी — JSON जैसा दिखता है, valid JSON नहीं है, regex को परवाह नहीं,
JSON.parseको है। - Nested fences। यदि model अपने response के अंदर markdown code-fence example डालता है, आपको inner fence पर false-positive match मिल सकता है। Realistic data के साथ test करें।
- Serious nested-bracket extraction के लिए regex का इस्तेमाल न करें। यदि model एक object लौटाता है जिसमें objects का array है, एक proper JSON-aware extractor लिखें — या fence form माँगें और fence body को parse करें।
- Privacy। Text और pattern page में रहते हैं। कोई upload नहीं, कोई API call नहीं।