{"id":41898634,"url":"https://github.com/deniskyashif/regexjs","last_synced_at":"2026-01-25T14:38:29.018Z","repository":{"id":42221067,"uuid":"170768713","full_name":"deniskyashif/regexjs","owner":"deniskyashif","description":"A fast and minimal regular expression engine.","archived":false,"fork":false,"pushed_at":"2024-03-01T07:55:39.000Z","size":1007,"stargazers_count":72,"open_issues_count":7,"forks_count":17,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-14T12:59:01.787Z","etag":null,"topics":["finite-state-machine","javascript","regular-expression"],"latest_commit_sha":null,"homepage":"https://deniskyashif.com/implementing-a-regular-expression-engine/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deniskyashif.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-02-14T22:47:25.000Z","updated_at":"2024-03-21T11:17:08.000Z","dependencies_parsed_at":"2024-03-01T08:51:03.288Z","dependency_job_id":null,"html_url":"https://github.com/deniskyashif/regexjs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/deniskyashif/regexjs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deniskyashif%2Fregexjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deniskyashif%2Fregexjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deniskyashif%2Fregexjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deniskyashif%2Fregexjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deniskyashif","download_url":"https://codeload.github.com/deniskyashif/regexjs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deniskyashif%2Fregexjs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28754312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T13:59:49.818Z","status":"ssl_error","status_checked_at":"2026-01-25T13:59:33.728Z","response_time":113,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["finite-state-machine","javascript","regular-expression"],"created_at":"2026-01-25T14:38:28.947Z","updated_at":"2026-01-25T14:38:29.007Z","avatar_url":"https://github.com/deniskyashif.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# regexjs\n\n[![Build Status](https://github.com/deniskyashif/regexjs/workflows/Node%20CI/badge.svg)](https://github.com/deniskyashif/ssfst/actions?query=workflow%3A%22Node+CI%22)\n\nA regular expression engine implementation in JavaScript. It supports concatenation, union (|), zero-or-more (\\*), one-or-more (+), and zero-or-one (?) operations as well as grouping. It follows Ken Thompson's algorithm for constructing an NFA from a regular expression.\n\nCheck out my [blog post](https://deniskyashif.com/2019/02/17/implementing-a-regular-expression-engine/) for the complete implementation details.\n\n### Example\n```javascript\nconst { createMatcher } = require('./regex');\nconst match = createMatcher('(a|b)*c');\n\nmatch('ac'); // true\nmatch('abc'); // true\nmatch('aabababbbc'); // true\nmatch('aaaab'); // false\n```\n\n### Try It\n```\ngit clone https://github.com/deniskyashif/regexjs.git\ncd regexjs\nnpm i\nnpm start\n```\n\n### Run the tests\n`npm t`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeniskyashif%2Fregexjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeniskyashif%2Fregexjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeniskyashif%2Fregexjs/lists"}