reggen

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2021 License: MIT Imports: 6 Imported by: 1

README

Reggen

This package generates strings based on regular expressions.

This is a fork of lucasjones/reggen

Try it here

Usage

package main

import (
	"fmt"

	"github.com/euskadi31/go-reggen"
)

func main() {
	// generate a single string
	str, err := reggen.Generate("^[a-z]{5,10}@[a-z]{5,10}\\.(com|net|org)$")
	if err != nil {
		panic(err)
	}
	fmt.Println(str)

	// create a reusable generator
	g, err := reggen.NewGenerator("[01]{5}")
	if err != nil {
		panic(err)
	}

	for i := 0; i < 5; i++ {
		// 10 is the maximum number of times star, range or plus should repeat
		// i.e. [0-9]+ will generate at most 10 characters if this is set to 10
		fmt.Println(g.Generate(10))
	}
}
Sample output:
bxnpubwc@kwrdbvjic.com
11000
01010
01100
01111
01001

License

go-reggen is licensed under the MIT license.

Documentation

Overview

Package reggen generates text based on regex definitions

Package reggen generates text based on regex definitions

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Generate

func Generate(regex string) (string, error)

Generate string by regexp

Types

type Generator

type Generator struct {
	// contains filtered or unexported fields
}

Generator struct

func NewGenerator

func NewGenerator(regex string) (*Generator, error)

NewGenerator create a new generator

func (*Generator) Generate

func (g *Generator) Generate(limit int) string

Generate returns string generated by regexp limit is the maximum number of times star, range or plus should repeat i.e. [0-9]+ will generate at most 10 characters if this is set to 10

func (*Generator) Seed

func (g *Generator) Seed(seed int64)

Seed define new seed

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL