README.md in regexp-examples-1.4.2 vs README.md in regexp-examples-1.4.3

- old
+ new

@@ -55,10 +55,11 @@ * MRI 2.0.x * MRI 2.1.x * MRI 2.2.x * MRI 2.3.x * MRI 2.4.x +* MRI 2.5.x MRI ≤ 1.9.3 are not supported. This is primarily because MRI 2.0.0 introduced a new regexp engine (`Oniguruma` was replaced by `Onigmo`). Whilst *most* of this gem could be made to work with MRI 1.9.x (or even 1.8.x), I feel the changes are too significant to implement backwards compatability (especially since [long-term support for MRI @@ -108,10 +109,13 @@ * And backreferences(!!!), e.g. `/(this|that) \1/` `/(?<name>foo) \k<name>/` * ...even for the more "obscure" syntax, e.g. `/(?<future>the) \k'future'/`, `/(a)(b) \k<-1>/` * ...and even if nested or optional, e.g. `/(even(this(works?))) \1 \2 \3/`, `/what about (this)? \1/` * Non-capture groups, e.g. `/(?:foo)/` * Comment groups, e.g. `/foo(?#comment)bar/` + * [Absent operator groups, e.g. `/(?~exp)/`](https://medium.com/rubyinside/the-new-absent-operator-in-ruby-s-regular-expressions-7c3ef6cd0b99) + This feature is available in ruby version `>= 2.4.1`. + However, support in this gem is [limited](https://github.com/tom-lord/regexp-examples/issues/22). * Control characters, e.g. `/\ca/`, `/\cZ/`, `/\C-9/` * Escape sequences, e.g. `/\x42/`, `/\x5word/`, `/#{"\x80".force_encoding("ASCII-8BIT")}/` * Unicode characters, e.g. `/\u0123/`, `/\uabcd/`, `/\u{789}/` * Octal characters, e.g. `/\10/`, `/\177/` * Named properties, e.g. `/\p{L}/` ("Letter"), `/\p{Arabic}/` ("Arabic character") @@ -198,18 +202,13 @@ All forms of configuration mentioned above **are thread safe**. ## Bugs and TODOs -There are no known major bugs with this library. However, there are a few obscure issues that you *may* encounter: +There are no known major bugs with this library. However, there are a few obscure issues that you *may* encounter. -* Conditional capture groups, e.g. `/(group1)? (?(1)yes|no)/.examples` are not yet supported. (This example *should* return: `["group1 yes", " no"]`) -* Nested repeat operators are incorrectly parsed, e.g. `/b{2}{3}/` - which *should* be interpreted like `/b{6}/`. (However, there is probably no reason - to ever write regexes like this!) -* A new ["absent operator" (`/(?~exp)/`)](https://medium.com/rubyinside/the-new-absent-operator-in-ruby-s-regular-expressions-7c3ef6cd0b99) - was added to Ruby version `2.4.1`. This gem does not yet support it (or gracefully fail when used). -* Ideally, `regexp#examples` should always return up to `max_results_limit`. Currenty, it usually "aborts" before this limit is reached. - (I.e. the exact number of examples generated can be hard to predict, for complex patterns.) +All known bugs/missing features are [documented in GitHub](https://github.com/tom-lord/regexp-examples/issues). +Please discuss known issues there, or raise a new issue if required. Pull requests are welcome! Some of the most obscure regexp features are not even mentioned in [the ruby docs](http://ruby-doc.org/core/Regexp.html). However, full documentation on all the intricate obscurities in the ruby (version 2.x) regexp parser can be found [here](https://raw.githubusercontent.com/k-takata/Onigmo/master/doc/RE).