Генератор на данни с Regex
Генерирайте произволни данни, съответстващи на вашите регулярни изрази
Вход
Изход
Прочети ме
Какво е регулярен израз?
Регулярният израз (regex) е последователност от символи, която дефинира шаблон за търсене. Първоначално разработени за теорията на формалните езици, регулярните изрази днес се използват в почти всеки програмен език и инструмент за обработка на текст за съпоставяне, търсене и манипулиране на string-ове. Шаблон като [a-z]+@[a-z]+\.com описва структурата на прост имейл адрес — букви, последвани от символа @, още букви, точка и буквалния string "com."
Освен за търсене, регулярните изрази могат да служат и като шаблони за генериране на данни. Чрез обръщане на процеса на съпоставяне, regex машината може да произвежда произволни string-ове, отговарящи на даден шаблон. Това е особено полезно при тестване на софтуер, прототипиране и попълване на бази данни с реалистично изглеждащи тестови данни, без да се разчита на реална потребителска информация.
Описание на инструмента
Този инструмент генерира произволни string-ове, съответстващи на всеки предоставен от вас регулярен израз. Въведете regex шаблон — или изберете от вградените предварителни настройки — и незабавно генерирайте до 1 000 съответстващи стойности. Поддържа целия стандартен regex синтаксис, включително класове символи, квантификатори, групи, алтернация и обратни референции. Резултатът може да се използва директно като тестови данни, начални данни или вход за скриптове за валидация.
Функции
- Вградени предварителни настройки за често срещани формати: имейл, IPv4, UUID, телефонен номер в САЩ, дата, hex цвят, регистрационен номер и MAC адрес
- Въвеждане на потребителски regex, поддържащо пълния JavaScript синтаксис за регулярни изрази
- Регулируем брой от 1 до 1 000 генерирани стойности на изпълнение
- Контрол на максималното повторение за ограничаване на броя разширявания на неограничени квантификатори (
+,*,{n,}), предотвратявайки прекалено дълги string-ове - Режим само за уникални стойности, който премахва дублиращите се резултати и предупреждава, ако ентропията на шаблона е твърде ниска за генериране на достатъчно различни стойности
Случаи на употреба
- Тестване на софтуер: Генерирайте стотици валидно изглеждащи имейл адреси, UUID-та или IP адреси за използване като тестови данни или начални данни за автоматизирани тестови пакети, без да излагате реална потребителска информация.
- Попълване на бази данни: Бързо попълвайте разработващи или staging бази данни с реалистични тестови данни, отговарящи на ограниченията на колоните и правилата за валидация.
- Изучаване на regex: Експериментирайте със синтаксиса на регулярните изрази, като напишете шаблон и веднага видите какви string-ове може да произведе, което улеснява разбирането на квантификатори, класове символи и групиране.
Обяснение на опциите
| Опция | Описание |
|---|---|
| Предварителна настройка | Изберете вграден шаблон за често срещани формати на данни или изберете „По избор", за да напишете собствен regex. Изборът на предварителна настройка автоматично попълва полето за regex шаблон. |
| Regex шаблон | Регулярният израз, използван за генериране на данни. Поддържа класове символи ([a-z]), квантификатори ({3,8}, +, *), групи и алтернация ((com|net|org)) и специални token-и (\d, \w). |
| Брой | Колко string-а да се генерират — между 1 и 1 000. |
| Максимално повторение | Ограничава разширяването на неограничени квантификатори. Например, при максимално повторение 10, шаблонът [a-z]+ ще произвежда string-ове с максимална дължина 10 символа. Диапазон: 1–100. |
| Само уникални стойности | Когато е активирано, гарантира, че в резултата не се появяват дублиращи се string-ове. Ако шаблонът не може да произведе достатъчно уникални стойности, се показва предупреждение с действителния брой генерирани стойности. |
Съвети
- Започнете с предварителна настройка и я модифицирайте, за да научите как regex шаблоните се превръщат в генерирани данни.
- Ако имате нужда от резултат с фиксирана дължина, използвайте точни квантификатори като
{8}вместо диапазони като{5,10}. - Намалете стойността на максималното повторение при използване на
+или*, за да запазите генерираните string-ове кратки и четими. - Активирайте режима за уникалност при генериране на идентификатори или ключове, които не трябва да се повтарят, но използвайте шаблон с достатъчно вариации, за да избегнете достигане на тавана за уникалност.
Често задавани въпроси
Мога ли да използвам lookahead или lookbehind? Генераторът се базира на библиотеката randexp.js, която поддържа повечето JavaScript regex функции. Lookahead и lookbehind не се поддържат за генериране, тъй като не дефинират съдържание на символи.
Защо получих по-малко резултати от заявените? При активиран режим „Само уникални стойности", шаблонът може да няма достатъчно възможни пермутации, за да произведе заявения брой различни string-ове. Опитайте да разширите класовете символи или да увеличите диапазоните на квантификаторите.
Резултатът наистина ли е произволен? Резултатът е псевдопроизволен. Всяко изпълнение произвежда различни резултати, но произволността не е криптографски сигурна. Не използвайте този инструмент за генериране на пароли или security token-и.