mirror of
https://github.com/pdemian/human2regex.git
synced 2025-05-17 04:50:09 -07:00
86 lines
2.5 KiB
Markdown
86 lines
2.5 KiB
Markdown
# Human2Regex
|
|
|
|
<div align="center">
|
|
|
|

|
|
|
|
[](https://travis-ci.org/pdemian/human2regex)
|
|
[](https://codecov.io/gh/pdemian/human2regex)
|
|
[](https://lgtm.com/projects/g/pdemian/human2regex/)
|
|

|
|
[](https://www.npmjs.com/package/human2regex)
|
|
|
|
[](https://human2regex.com)
|
|
[](API.md)
|
|
[](https://human2regex.com/tutorial.html)
|
|
|
|
|
|
</div>
|
|
|
|
|
|
## 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 back references, subroutines, lookahead/behind, and more character classes (eg, `[:alpha:]`)
|
|
- Fix error messages (They sometimes point to the wrong location, off by 1 errors, etc)
|
|
- Use a different/better static site generation method |