Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pdemian/human2regex
Humanized Regex
https://github.com/pdemian/human2regex
regex
Last synced: about 1 month ago
JSON representation
Humanized Regex
- Host: GitHub
- URL: https://github.com/pdemian/human2regex
- Owner: pdemian
- License: mit
- Created: 2020-10-04T09:11:56.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-14T16:28:53.000Z (over 1 year ago)
- Last Synced: 2024-10-11T15:39:14.837Z (2 months ago)
- Topics: regex
- Language: TypeScript
- Homepage:
- Size: 1.82 MB
- Stars: 68
- Watchers: 3
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome-github-stars - pdemian/human2regex - Humanized Regex (TypeScript)
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+ wordsWhich 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) Installnpm i human2regex
2) [Read the API docs](API.md)
## Usage (This repo)
1) Prebuildnpm install
2) Build
npm run build
3) Run
point web browser to: docs/index.html4) 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~~