{"id":24198966,"url":"https://github.com/superb-man/regex-parser","last_synced_at":"2026-05-12T14:31:37.816Z","repository":{"id":255743081,"uuid":"845073041","full_name":"Superb-Man/Regex-Parser","owner":"Superb-Man","description":"Simple regex matcher with some advanced operations.Can only parse a regex😔 and match some elementary operations🚀.Nothing fancy!","archived":false,"fork":false,"pushed_at":"2025-01-22T06:52:05.000Z","size":65,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-22T07:35:31.716Z","etag":null,"topics":["parser"],"latest_commit_sha":null,"homepage":"","language":"C++","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/Superb-Man.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,"publiccode":null,"codemeta":null}},"created_at":"2024-08-20T14:26:10.000Z","updated_at":"2025-01-22T06:52:09.000Z","dependencies_parsed_at":"2025-01-13T20:13:56.699Z","dependency_job_id":"ffddd97e-3197-4455-8026-e98d79633e6d","html_url":"https://github.com/Superb-Man/Regex-Parser","commit_stats":null,"previous_names":["superb-man/regex-validator","superb-man/t-rex","superb-man/regex-parser"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Superb-Man%2FRegex-Parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Superb-Man%2FRegex-Parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Superb-Man%2FRegex-Parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Superb-Man%2FRegex-Parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Superb-Man","download_url":"https://codeload.github.com/Superb-Man/Regex-Parser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241637149,"owners_count":19994925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["parser"],"created_at":"2025-01-13T20:13:50.675Z","updated_at":"2026-05-12T14:31:37.811Z","avatar_url":"https://github.com/Superb-Man.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Regex-Parser\n# Purpose\nTo understand about parser/syntax tree. For learning. \n\n```\nThe AstNode is not necessarily needed for validating regex only.\nNot all possible operations implemented\n\nDrawback - so many sequential nodes!\n\nFuture hope - Will try to implement the RegexMatcher later\n```\n# Description\nExtended work of Automaton- solver.Implemented a very basic regular expression parser. Although it doesn't support all the operations possible.Was motivated by regex matcher at linux system.Implementing full library by own is quite a complex task.Yet i gave a try and still i am learning. The backtracking is pretty hard. Will try with automata theory later.\n# Limitations\n```\n- Limitaions with multiple OR operations!\n- Doesn't support all. Only a mini subset.\n```\n# The subset of regex it worked!\n        \"a.?b\",\n        \"a+b*(c+de)*f\",\n        \"a*b+c?(d+)?\",\n        \"a[a-zA-Z0-9.]\",\n        \"a*b+c?d*?xyz+\",\n        \"a(.6)*d\",\n        \"a[0-9]62\",\n        \"acd*b\",\n        cd \"a?b\",\n        \"a[a-z]b\",\n        \"a(.bc|c*)+\",\n        \"a([a-z].)*\",\n        \"a(.s|a)*62\",\n        \"[a-z]*b\",\n        \"a(.sb)*bc*\",\n        \"cd[a-z]|a(.bc)*b*\",\n        \"ad|(b|.c)*\",\n        \"a.?b\",\n        \"a(a|bc)*(bd|b)\",\n        \"aaab\",\n        \"b|bd\", /////////////////////////////DON'T WORK\n        \"a*(b|(cd+|e*f))bd\",\n        \"([0-9]|a*(b|(cd+|e*f)))bd\",\n        \"a.*b\",\n        \"a((.)*)bcd+(((c)d)e)\",\n        \"a.*b[0-9]+b+b*\",\n        \"a*a+\",\n        \"a.*b*cd+.*f\",\n        \"a(.bc)*d\",\n        \"a*b*.*g*.+\",\n        \"abcd+.*f\",\n        \"ab*b?c+.*f\",\n        \"a?ab\",\n        \"a*\",\n        \"a*[dzf]*dfb*\",\n        \"[a-c]+z\",\n        \"a+\",\n        \".*a+[s-v0-5]*bcd+e(a|b)*\",  ///////////WORKING\n        \".*a+.*bcd+e(a|b)*\", //////////WORKING\n        \"[a-c]+a[a-c]+\",\n        \".*a[a-c]+\",\n        \"abc[a-d]?.*abc\",\n        \"(ab*)*|b(c|d+)\",\n        \"a*|c*\",\n        \"(a|b)b\",\n        \"a.*[a-c]+d\",\n        \"a[a-c]+.*d\",\n        \"[a-c]+a*a+a\",\n        \".+ba\",\n        \"a(c|b)*abc\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperb-man%2Fregex-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuperb-man%2Fregex-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperb-man%2Fregex-parser/lists"}