pomsky
pomsky copied to clipboard
A new, portable, regular expression language
### Is your feature request related to a problem? Please describe. These days, many languages have top-notch tooling to help the developer write idiomatic, easy-to-understand code. Pomsky should be no...
### Status Quo `[codepoint]` and `[.]` are special snowflakes: They can't contain other character classes, i.e. `[. 'x']` is illegal. ### Solution Deprecate `[codepoint]` and `[.]`. - Instead of `[codepoint]`,...
### Status Quo The meaning of `` is not intuitively clear, and even confusing to some: Someone suggested that `
Using the keyword `recursion`. For example: ```regexp '(' recursion* ')' | [not '()']+ ``` Compiles to ```regexp \((?R)*\)|[^()]+? ``` Which matches any text with balanced parentheses.
Atomic groups exist to improve matching performance for regex engines that use backtracking by default, but they also change the regex behavior. The regex syntax is this: `(?>atomic group)`. The...
Most regex engines support conditionals à là `(?(?=condition)then|else)` or `(?Pcondition)? (?(foo)then|else)`. The syntax varies slightly between implementations. A subset of this feature can be be made available in engines like...
### Is your feature request related to a problem? Please describe. If you have lots of regexes, rewriting them in pomsky is currently an annoying, elaborate task. ### Describe the...
oftentimes a "quote finding" or "bracket finding" regex might be something like `\"[^"]*\"` or `\([^()]\)`. one of the examples for references is `:(['"' "'"]) !['"' "'"]* ::1` which would not...