Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pdemian/human2regex

Humanized Regex
https://github.com/pdemian/human2regex

regex

Last synced: about 1 month ago
JSON representation

Humanized Regex

Awesome Lists containing this project

README

        

# Human2Regex

![H2R logo](./src/docs/assets/favicon-small.png)

[![Build Status](https://travis-ci.com/pdemian/human2regex.svg?branch=master)](https://travis-ci.com/pdemian/human2regex)
[![Codecov](https://codecov.io/gh/pdemian/human2regex/branch/master/graphs/badge.svg?branch=master)](https://codecov.io/gh/pdemian/human2regex)
[![LGTM Grade](https://img.shields.io/lgtm/grade/javascript/github/pdemian/human2regex)](https://lgtm.com/projects/g/pdemian/human2regex/)
![GitHub](https://img.shields.io/github/license/pdemian/human2regex)
[![npm](https://img.shields.io/npm/v/human2regex?color=green)](https://www.npmjs.com/package/human2regex)

[![Website](https://img.shields.io/badge/website-human2regex.com-blue)](https://human2regex.com)
[![Docs](https://img.shields.io/badge/docs-API-blue)](API.md)
[![Docs](https://img.shields.io/badge/docs-language-blue)](https://human2regex.com/tutorial.html)

## Purpose

Generate regular expressions from natural language.

Instead of a convoluted mess of symbols like `/([\w\.=\-]*\w+)/g` why not

using global matching
create a group
match 0+ characters or "." or "=" or "-"
match 1+ words

Which would you rather modify or debug?

You can then use your regex in your language of choice, with Human2Regex validating your regex for you.

## Why use Human2Regex?

- Human readable
- Easier to prototype and modify when compared to regex
- Easier to debug than raw text or even color coded regex
- "Human Speak" may contain comments
- Multiple platforms' dialects/quirks supported
- Human2Regex will minimize your final regex
- "Human Speak" can be used by non-technical QA to verify your program's output

## Webpage
Human2Regex is hosted on github pages at [https://human2regex.com](https://human2regex.com)

## Tutorial
The language tutorial can be found at [https://human2regex.com/tutorial.html](https://human2regex.com/tutorial.html)

## API
Human2Regex is available as an embeddable API.

The API reference is available [here](API.md)

## Usage (API)
1) Install

npm i human2regex

2) [Read the API docs](API.md)

## Usage (This repo)
1) Prebuild

npm install

2) Build

npm run build

3) Run

point web browser to: docs/index.html

4) Test

npm t

## Todo
- Add more regex options such as subroutines, ~~conditions, and lookahead/behind~~
- Fix error messages (They sometimes point to the wrong location, off by 1 errors, etc)
- Add more useful lex/parse errors (What even is an EarlyExitException?)
- ~~Use a different/better static site generation method~~