Created
July 27, 2021 23:23
-
-
Save AmyShackles/cd26cf6930fdd1563143e1f045a1c084 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const desiredOutput = [ | |
| { | |
| type: 'start_of_line', | |
| startingIndex: 0, | |
| lastIndex: 0, | |
| group: '^', | |
| children: [], | |
| }, | |
| { | |
| type: 'positive_lookbehind', | |
| group: '(?<=Hello (a(ga)in))', | |
| match: 'Hello (a(ga)in)', | |
| startingIndex: 1, | |
| lastIndex: 20, | |
| children: [ | |
| { | |
| type: 'literal', | |
| startingIndex: 5, | |
| lastIndex: 10, | |
| group: 'Hello ', | |
| children: [], | |
| }, | |
| { | |
| type: 'capture_group', | |
| group: '(a(ga)in)', | |
| match: 'a(ga)in', | |
| startingIndex: 11, | |
| lastIndex: 19, | |
| children: [ | |
| { | |
| type: 'literal', | |
| startingIndex: 12, | |
| lastIndex: 12, | |
| group: 'a', | |
| children: [] | |
| }, | |
| { | |
| type: 'capture_group', | |
| group: '(ga)', | |
| match: 'ga', | |
| startingIndex: 13, | |
| lastIndex: 16, | |
| children: [ | |
| { | |
| type: 'literal', | |
| startingIndex: 14, | |
| lastIndex: 15, | |
| group: 'ga', | |
| children: [] | |
| } | |
| ] | |
| }, | |
| { | |
| type: 'literal', | |
| startingIndex: 17, | |
| lastIndex: 18, | |
| group: 'in', | |
| children: [] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| type: 'word_boundary', | |
| startingIndex: 21, | |
| lastIndex: 22, | |
| group: '\\b', | |
| children: [] | |
| }, | |
| { | |
| type: 'capture_group', | |
| group: '(ABC)', | |
| match: 'ABC', | |
| startingIndex: 23, | |
| lastIndex: 27, | |
| children: [ | |
| { | |
| type: 'literal', | |
| startingIndex: 24, | |
| lastIndex: 26, | |
| group: 'ABC' | |
| }, | |
| ] | |
| }, | |
| { | |
| type: 'negated_character_set', | |
| startingIndex: 28, | |
| lastIndex: 33, | |
| group: '[^ack]', | |
| match: 'ack', | |
| children: [] | |
| }, | |
| { | |
| type: 'dotAll', | |
| startingIndex: 34, | |
| lastIndex: 34, | |
| group: '.', | |
| children: [] | |
| }, | |
| { | |
| type: 'non_greedy_range_quantifier', | |
| startingIndex: 35, | |
| lastIndex: 38, | |
| group: '{2}?', | |
| min: 2, | |
| children: [] | |
| }, | |
| { | |
| type: 'capture_group', | |
| group: '(\\P{Script=Cyrillic} \\p{General_Category=Letter}\\xff \\u{12345})', | |
| match: '\\P{Script=Cyrillic} \\p{General_Category=Letter}\\xff \\u{12345}', | |
| startingIndex: 39, | |
| lastIndex: 101, | |
| children: [ | |
| { | |
| type: 'negated_unicode_property_escape', | |
| startingIndex: 40, | |
| lastIndex: 58, | |
| negated_unicode_name: 'Script', | |
| negated_unicode_value: 'Cyrillic', | |
| group: '\\P{Script=Cyrillic}', | |
| children: [] | |
| }, | |
| { | |
| type: 'literal', | |
| startingIndex: 59, | |
| lastIndex: 59, | |
| group: ' ', | |
| children: [] | |
| }, | |
| { | |
| type: 'unicode_property_escape', | |
| startingIndex: 60, | |
| lastIndex: 86, | |
| unicode_name: 'General_Category', | |
| unicode_value: 'Letter', | |
| group: '\\p{General_Category=Letter}', | |
| children: [] | |
| }, | |
| { | |
| type: 'hex', | |
| startingIndex: 87, | |
| lastIndex: 90, | |
| group: '\\xff', | |
| match: 'ÿ', | |
| children: [] | |
| }, | |
| { | |
| type: 'literal', | |
| startingIndex: 91, | |
| lastIndex: 91, | |
| group: ' ', | |
| children: [] | |
| }, | |
| { | |
| type: 'unicode', | |
| startingIndex: 92, | |
| lastIndex: 100, | |
| group: '\\u{12345}', | |
| match: '𒍅', | |
| children: [] | |
| }, | |
| ] | |
| }, | |
| { | |
| type: 'named_capture_group', | |
| group: '(?<isas>[ai]s)', | |
| match: '[ai]s', | |
| startingIndex: 102, | |
| lastIndex: 115, | |
| name: 'isas', | |
| children: [ | |
| { | |
| type: 'character_set', | |
| startingIndex: 110, | |
| lastIndex: 113, | |
| group: '[ai]', | |
| match: 'ai', | |
| children: [] | |
| }, | |
| { | |
| type: 'literal', | |
| startingIndex: 114, | |
| lastIndex: 114, | |
| group: 's', | |
| children: [] | |
| }, | |
| ] | |
| }, | |
| { | |
| type: 'whitespace', | |
| startingIndex: 116, | |
| lastIndex: 117, | |
| group: '\\s', | |
| children: [] | |
| }, | |
| { | |
| type: 'character_set', | |
| startingIndex: 118, | |
| lastIndex: 123, | |
| group: '[easy]', | |
| match: 'easy', | |
| children: [] | |
| }, | |
| { | |
| type: 'greedy_range_quantifier', | |
| startingIndex: 124, | |
| lastIndex: 128, | |
| group: '{1,5}', | |
| min: 1, | |
| max: 5, | |
| children: [] | |
| }, | |
| { | |
| type: 'literal', | |
| startingIndex: 129, | |
| lastIndex: 129, | |
| group: ' ', | |
| children: [] | |
| }, | |
| { | |
| type: 'unicode_property_escape', | |
| startingIndex: 130, | |
| lastIndex: 145, | |
| unicode_name: 'Script', | |
| unicode_value: 'Latin', | |
| group: '\\p{Script=Latin}', | |
| children: [] | |
| }, | |
| { | |
| type: 'named_backreference', | |
| startingIndex: 146, | |
| lastIndex: 153, | |
| group: '\\k<isas>', | |
| name: 'isas', | |
| children: [] | |
| }, | |
| { | |
| type: 'whitespace', | |
| startingIndex: 154, | |
| lastIndex: 155, | |
| group: '\\s', | |
| children: [] | |
| }, | |
| { | |
| type: 'capture_group', | |
| group: '(123)', | |
| match: '123', | |
| startingIndex: 156, | |
| lastIndex: 160, | |
| children: [ | |
| { | |
| type: 'literal', | |
| startingIndex: 157, | |
| lastIndex: 159, | |
| group: '123', | |
| children: [] | |
| }, | |
| ] | |
| }, | |
| { | |
| type: 'numerical_backreference', | |
| startingIndex: 161, | |
| lastIndex: 162, | |
| group: '\\1', | |
| match: '1', | |
| children: [] | |
| }, | |
| { | |
| type: 'numerical_backreference', | |
| startingIndex: 163, | |
| lastIndex: 164, | |
| group: '\\2', | |
| match: '2', | |
| children: [] | |
| }, | |
| { | |
| type: 'greedy_range_quantifier', | |
| startingIndex: 165, | |
| lastIndex: 167, | |
| group: '{3}', | |
| min: 3, | |
| children: [] | |
| }, | |
| { | |
| type: 'unicode', | |
| startingIndex: 168, | |
| lastIndex: 173, | |
| group: '\\u1234', | |
| match: 'ሴ', | |
| children: [] | |
| }, | |
| { | |
| type: 'literal', | |
| startingIndex: 174, | |
| lastIndex: 174, | |
| group: ' ', | |
| children: [] | |
| }, | |
| { | |
| type: 'character_set', | |
| startingIndex: 175, | |
| lastIndex: 178, | |
| group: '[\\b]', | |
| match: '\\b', | |
| children: [ | |
| { | |
| type: 'backspace', | |
| startingIndex: 176, | |
| lastIndex: 177, | |
| group: '\\b', | |
| children: [] | |
| }, | |
| ] | |
| }, | |
| { | |
| type: 'literal', | |
| startingIndex: 179, | |
| lastIndex: 187, | |
| group: 'sometimes', | |
| children: [] | |
| }, | |
| { | |
| type: 'control_character', | |
| startingIndex: 188, | |
| lastIndex: 190, | |
| group: '\\cM', | |
| match: '\r', | |
| children: [] | |
| }, | |
| { | |
| type: 'non_word_boundary', | |
| startingIndex: 191, | |
| lastIndex: 192, | |
| group: '\\B', | |
| children: [] | |
| }, | |
| { | |
| type: 'positive_lookahead', | |
| group: '(?=Goodbye)', | |
| match: 'Goodbye', | |
| startingIndex: 193, | |
| lastIndex: 203, | |
| children: [ | |
| { | |
| type: 'literal', | |
| startingIndex: 196, | |
| lastIndex: 202, | |
| group: 'Goodbye' | |
| }, | |
| ] | |
| }, | |
| { | |
| type: 'end_of_line', | |
| startingIndex: 204, | |
| lastIndex: 204, | |
| group: '$', | |
| children: [] | |
| } | |
| ]; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment