README.md in regexp-examples-0.5.1 vs README.md in regexp-examples-0.5.2
- old
+ new
@@ -36,29 +36,28 @@
* Capture groups, e.g. `/(group)/`
* Including named groups, e.g. `/(?<name>group)/`
* ...And backreferences(!!!), e.g. `/(this|that) \1/` `/(?<name>foo) \k<name>/`
* Groups work fine, 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/`
* 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}/`
* **Arbitrarily complex combinations of all the above!**
* Regexp options can also be used:
* Case insensitive examples: `/cool/i.examples #=> ["cool", "cooL", "coOl", "coOL", ...]`
- * Multiline examples: `/./m.examples(max_group_results: 999) #=> ["a", "b", "c", ..., "\n"]`
+ * Multiline examples: `/./m.examples #=> ["\n", "a", "b", "c", "d"]`
* Extended form examples: `/line1 #comment \n line2/x.examples #=> ["line1line2"]`
+ * Options toggling supported: `/before(?imx-imx)after/`, `/before(?imx-imx:subexpr)after/`
## Bugs and Not-Yet-Supported syntax
* Nested character classes, and the use of set intersection ([See here](http://www.ruby-doc.org/core-2.2.0/Regexp.html#class-Regexp-label-Character+Classes) for the official documentation on this.) For example:
* `/[[abc]]/.examples` (which _should_ return `["a", "b", "c"]`)
* `/[[a-d]&&[c-f]]/.examples` (which _should_ return: `["c", "d"]`)
-* Extended groups are not yet supported, such as:
- * Including comments inside the pattern, i.e. `/(?#...)/`
- * Conditional capture groups, such as `/(group1) (?(1)yes|no)`
- * Options toggling, i.e. `/(?imx)/`, `/(?-imx)/`, `/(?imx: re)/` and `/(?-imx: re)/`
+* Conditional capture groups, such as `/(group1) (?(1)yes|no)`
* The patterns: `/\10/` ... `/\77/` should match the octal representation of their character code, if there is no nth grouped subexpression. For example, `/\10/.examples` should return `["\x08"]`. Funnily enough, I did not think of this when writing my regexp parser.
Using any of the following will raise a RegexpExamples::UnsupportedSyntax exception (until such time as they are implemented!):