pax_global_header00006660000000000000000000000064140616340550014516gustar00rootroot0000000000000052 comment=b8bc4e82885a9cff44b908d247685cde129cd863 regexpp-3.2.0/000077500000000000000000000000001406163405500131725ustar00rootroot00000000000000regexpp-3.2.0/.codecov.yml000066400000000000000000000000151406163405500154110ustar00rootroot00000000000000comment: off regexpp-3.2.0/.eslintignore000066400000000000000000000000361406163405500156740ustar00rootroot00000000000000/.temp /node_modules /index.* regexpp-3.2.0/.eslintrc.yml000066400000000000000000000006451406163405500156230ustar00rootroot00000000000000root: true extends: - plugin:@mysticatea/es2018 rules: # tsc does. "no-redeclare": "off" # https://github.com/typescript-eslint/typescript-eslint/issues/743 "@mysticatea/ts/unbound-method": "off" overrides: - files: "./src/unicode/ids.ts" rules: curly: "off" no-misleading-character-class: "off" - files: "./src/unicode/property-data.ts" rules: "@mysticatea/ts/camelcase": "off" regexpp-3.2.0/.gitattributes000066400000000000000000000000231406163405500160600ustar00rootroot00000000000000* text=auto eol=lf regexpp-3.2.0/.github/000077500000000000000000000000001406163405500145325ustar00rootroot00000000000000regexpp-3.2.0/.github/FUNDING.yml000066400000000000000000000000251406163405500163440ustar00rootroot00000000000000github: - mysticatea regexpp-3.2.0/.github/workflows/000077500000000000000000000000001406163405500165675ustar00rootroot00000000000000regexpp-3.2.0/.github/workflows/ci.yml000066400000000000000000000012341406163405500177050ustar00rootroot00000000000000name: CI on: push: branches: [master] pull_request: branches: [master] schedule: - cron: 0 0 * * 0 jobs: test: name: Test runs-on: ubuntu-latest strategy: matrix: node: [12.x, 10.x, 8.x] steps: - name: Checkout uses: actions/checkout@v1 - name: Install Node.js ${{ matrix.node }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node }} - name: Install Packages run: npm install - name: Test run: npm test - name: Send Coverage run: npm run -s codecov env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} regexpp-3.2.0/.gitignore000066400000000000000000000000751406163405500151640ustar00rootroot00000000000000/.nyc_output /.temp /coverage /node_modules /index.* /test.* regexpp-3.2.0/.npmrc000066400000000000000000000000251406163405500143070ustar00rootroot00000000000000package-lock = false regexpp-3.2.0/.nycrc000066400000000000000000000002071406163405500143100ustar00rootroot00000000000000{ "include": ["src/**/*.ts"], "exclude": ["src/unicode/*.ts"], "extension": [".ts"], "require": ["ts-node/register"] } regexpp-3.2.0/.vscode/000077500000000000000000000000001406163405500145335ustar00rootroot00000000000000regexpp-3.2.0/.vscode/settings.json000066400000000000000000000002451406163405500172670ustar00rootroot00000000000000{ "eslint.validate": [ "javascript", {"autoFix": true, "language": "typescript"} ], "typescript.tsdk": "node_modules\\typescript\\lib" } regexpp-3.2.0/LICENSE000066400000000000000000000020571406163405500142030ustar00rootroot00000000000000MIT License Copyright (c) 2018 Toru Nagashima Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. regexpp-3.2.0/README.md000066400000000000000000000125511406163405500144550ustar00rootroot00000000000000# regexpp [![npm version](https://img.shields.io/npm/v/regexpp.svg)](https://www.npmjs.com/package/regexpp) [![Downloads/month](https://img.shields.io/npm/dm/regexpp.svg)](http://www.npmtrends.com/regexpp) [![Build Status](https://github.com/mysticatea/regexpp/workflows/CI/badge.svg)](https://github.com/mysticatea/regexpp/actions) [![codecov](https://codecov.io/gh/mysticatea/regexpp/branch/master/graph/badge.svg)](https://codecov.io/gh/mysticatea/regexpp) [![Dependency Status](https://david-dm.org/mysticatea/regexpp.svg)](https://david-dm.org/mysticatea/regexpp) A regular expression parser for ECMAScript. ## 💿 Installation ```bash $ npm install regexpp ``` - require Node.js 8 or newer. ## 📖 Usage ```ts import { AST, RegExpParser, RegExpValidator, RegExpVisitor, parseRegExpLiteral, validateRegExpLiteral, visitRegExpAST } from "regexpp" ``` ### parseRegExpLiteral(source, options?) Parse a given regular expression literal then make AST object. This is equivalent to `new RegExpParser(options).parseLiteral(source)`. - **Parameters:** - `source` (`string | RegExp`) The source code to parse. - `options?` ([`RegExpParser.Options`]) The options to parse. - **Return:** - The AST of the regular expression. ### validateRegExpLiteral(source, options?) Validate a given regular expression literal. This is equivalent to `new RegExpValidator(options).validateLiteral(source)`. - **Parameters:** - `source` (`string`) The source code to validate. - `options?` ([`RegExpValidator.Options`]) The options to validate. ### visitRegExpAST(ast, handlers) Visit each node of a given AST. This is equivalent to `new RegExpVisitor(handlers).visit(ast)`. - **Parameters:** - `ast` ([`AST.Node`]) The AST to visit. - `handlers` ([`RegExpVisitor.Handlers`]) The callbacks. ### RegExpParser #### new RegExpParser(options?) - **Parameters:** - `options?` ([`RegExpParser.Options`]) The options to parse. #### parser.parseLiteral(source, start?, end?) Parse a regular expression literal. - **Parameters:** - `source` (`string`) The source code to parse. E.g. `"/abc/g"`. - `start?` (`number`) The start index in the source code. Default is `0`. - `end?` (`number`) The end index in the source code. Default is `source.length`. - **Return:** - The AST of the regular expression. #### parser.parsePattern(source, start?, end?, uFlag?) Parse a regular expression pattern. - **Parameters:** - `source` (`string`) The source code to parse. E.g. `"abc"`. - `start?` (`number`) The start index in the source code. Default is `0`. - `end?` (`number`) The end index in the source code. Default is `source.length`. - `uFlag?` (`boolean`) The flag to enable Unicode mode. - **Return:** - The AST of the regular expression pattern. #### parser.parseFlags(source, start?, end?) Parse a regular expression flags. - **Parameters:** - `source` (`string`) The source code to parse. E.g. `"gim"`. - `start?` (`number`) The start index in the source code. Default is `0`. - `end?` (`number`) The end index in the source code. Default is `source.length`. - **Return:** - The AST of the regular expression flags. ### RegExpValidator #### new RegExpValidator(options) - **Parameters:** - `options` ([`RegExpValidator.Options`]) The options to validate. #### validator.validateLiteral(source, start, end) Validate a regular expression literal. - **Parameters:** - `source` (`string`) The source code to validate. - `start?` (`number`) The start index in the source code. Default is `0`. - `end?` (`number`) The end index in the source code. Default is `source.length`. #### validator.validatePattern(source, start, end, uFlag) Validate a regular expression pattern. - **Parameters:** - `source` (`string`) The source code to validate. - `start?` (`number`) The start index in the source code. Default is `0`. - `end?` (`number`) The end index in the source code. Default is `source.length`. - `uFlag?` (`boolean`) The flag to enable Unicode mode. #### validator.validateFlags(source, start, end) Validate a regular expression flags. - **Parameters:** - `source` (`string`) The source code to validate. - `start?` (`number`) The start index in the source code. Default is `0`. - `end?` (`number`) The end index in the source code. Default is `source.length`. ### RegExpVisitor #### new RegExpVisitor(handlers) - **Parameters:** - `handlers` ([`RegExpVisitor.Handlers`]) The callbacks. #### visitor.visit(ast) Validate a regular expression literal. - **Parameters:** - `ast` ([`AST.Node`]) The AST to visit. ## 📰 Changelog - [GitHub Releases](https://github.com/mysticatea/regexpp/releases) ## 🍻 Contributing Welcome contributing! Please use GitHub's Issues/PRs. ### Development Tools - `npm test` runs tests and measures coverage. - `npm run build` compiles TypeScript source code to `index.js`, `index.js.map`, and `index.d.ts`. - `npm run clean` removes the temporary files which are created by `npm test` and `npm run build`. - `npm run lint` runs ESLint. - `npm run update:test` updates test fixtures. - `npm run update:ids` updates `src/unicode/ids.ts`. - `npm run watch` runs tests with `--watch` option. [`AST.Node`]: src/ast.ts#L4 [`RegExpParser.Options`]: src/parser.ts#L539 [`RegExpValidator.Options`]: src/validator.ts#L127 [`RegExpVisitor.Handlers`]: src/visitor.ts#L204 regexpp-3.2.0/package.json000066400000000000000000000050671406163405500154700ustar00rootroot00000000000000{ "name": "regexpp", "version": "3.2.0", "description": "Regular expression parser for ECMAScript.", "engines": { "node": ">=8" }, "main": "index", "files": [ "index.*" ], "exports": { ".": { "import": "./index.mjs", "default": "./index.js" }, "./package.json": "./package.json" }, "dependencies": {}, "devDependencies": { "@mysticatea/eslint-plugin": "^11.0.0", "@types/eslint": "^4.16.2", "@types/jsdom": "^12.2.4", "@types/mocha": "^5.2.2", "@types/node": "^12.6.8", "codecov": "^3.5.0", "dts-bundle": "^0.7.3", "eslint": "^6.1.0", "jsdom": "^15.1.1", "mocha": "^6.2.0", "npm-run-all": "^4.1.5", "nyc": "^14.1.1", "rimraf": "^2.6.2", "rollup": "^1.17.0", "rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-sourcemaps": "^0.4.2", "ts-node": "^8.3.0", "typescript": "^3.5.3" }, "scripts": { "prebuild": "npm run -s clean", "build": "run-s build:*", "build:tsc": "tsc --module es2015", "build:rollup": "rollup -c", "build:dts": "dts-bundle --name regexpp --main .temp/index.d.ts --out ../index.d.ts", "clean": "rimraf .temp index.*", "codecov": "nyc report -r lcovonly && codecov -t ${CODECOV_TOKEN} --disable=gcov", "lint": "eslint scripts src test --ext .ts", "pretest": "run-s build lint", "test": "nyc _mocha \"test/*.ts\" --reporter dot --timeout 10000", "update:test": "ts-node scripts/update-fixtures.ts", "update:unicode": "run-s update:unicode:*", "update:unicode:ids": "ts-node scripts/update-unicode-ids.ts", "update:unicode:props": "ts-node scripts/update-unicode-properties.ts", "preversion": "npm test", "version": "npm run -s build", "postversion": "git push && git push --tags", "prewatch": "npm run -s clean", "watch": "_mocha \"test/*.ts\" --require ts-node/register --reporter dot --timeout 10000 --watch-extensions ts --watch --growl" }, "repository": { "type": "git", "url": "git+https://github.com/mysticatea/regexpp.git" }, "keywords": [ "regexp", "regular", "expression", "parser", "validator", "ast", "abstract", "syntax", "tree", "ecmascript", "es2015", "es2016", "es2017", "es2018", "es2019", "es2020", "annexB" ], "author": "Toru Nagashima (https://github.com/mysticatea)", "license": "MIT", "bugs": { "url": "https://github.com/mysticatea/regexpp/issues" }, "homepage": "https://github.com/mysticatea/regexpp#readme", "funding": "https://github.com/sponsors/mysticatea" } regexpp-3.2.0/rollup.config.js000066400000000000000000000014221406163405500163100ustar00rootroot00000000000000import resolve from "rollup-plugin-node-resolve" import sourcemaps from "rollup-plugin-sourcemaps" export default [ { input: ".temp/index.js", output: { file: "index.js", format: "cjs", sourcemap: true, sourcemapFile: "index.js.map", banner: `/*! @author Toru Nagashima */`, }, plugins: [sourcemaps(), resolve()], }, { input: ".temp/index.js", output: { file: "index.mjs", format: "es", sourcemap: true, sourcemapFile: "index.mjs.map", banner: `/*! @author Toru Nagashima */`, }, plugins: [sourcemaps(), resolve()], }, ] regexpp-3.2.0/scripts/000077500000000000000000000000001406163405500146615ustar00rootroot00000000000000regexpp-3.2.0/scripts/clone-without-circular.ts000066400000000000000000000041761406163405500216440ustar00rootroot00000000000000import { posix } from "path" function resolveLocation( obj: any, path: string[], pathMap: Map, ): void { if (Array.isArray(obj)) { obj.forEach((el, index) => { if (typeof el === "object" && el !== null) { path.push(String(index)) resolveLocation(el, path, pathMap) path.pop() } }) return } pathMap.set(obj, `/${path.join("/")}`) for (const key of Object.keys(obj)) { if (key === "parent" || key === "resolved" || key === "references") { continue } const el = obj[key] if (typeof el === "object" && el !== null) { path.push(key) resolveLocation(el, path, pathMap) path.pop() } } } function cloneWithoutCircularRec(x: any, pathMap: Map): any { if (typeof x !== "object" || x === null) { return x } if (Array.isArray(x)) { return x.map(el => cloneWithoutCircularRec(el, pathMap)) } const y = {} as any for (const key of Object.keys(x)) { if (key === "parent" || key === "resolved" || key === "references") { y[key] = getRelativePath(x, x[key], pathMap) } else { y[key] = cloneWithoutCircularRec(x[key], pathMap) } } return y } function getRelativePath( from: object, to: any, pathMap: Map, ): any { if (typeof to !== "object" || to === null) { return to } if (Array.isArray(to)) { return to.map(el => getRelativePath(from, el, pathMap)) } const fromPath = pathMap.get(from)! const toPath = pathMap.get(to)! try { return `♻️${posix.relative(fromPath, toPath).replace(/\/$/u, "")}` } catch (err) { console.error(fromPath, toPath, err.stack) return "💥💥💥💥💥💥💥💥" } } export function cloneWithoutCircular(obj: object): object { const path: string[] = [] const pathMap: Map = new Map() resolveLocation(obj, path, pathMap) return cloneWithoutCircularRec(obj, pathMap) } regexpp-3.2.0/scripts/update-fixtures.ts000066400000000000000000000046041406163405500203660ustar00rootroot00000000000000import { AST, parseRegExpLiteral, visitRegExpAST } from "../src/index" import * as Parser from "../test/fixtures/parser/literal" import * as Visitor from "../test/fixtures/visitor" import { cloneWithoutCircular } from "./clone-without-circular" for (const filename of Object.keys(Parser.Fixtures)) { const fixture = Parser.Fixtures[filename] const options = fixture.options for (const pattern of Object.keys(fixture.patterns)) { try { const ast = parseRegExpLiteral(pattern, options) fixture.patterns[pattern] = { ast: cloneWithoutCircular(ast) } } catch (err) { fixture.patterns[pattern] = { error: { message: err.message, index: err.index }, } } } Parser.save() } for (const filename of Object.keys(Visitor.Fixtures)) { const fixture = Visitor.Fixtures[filename] const options = fixture.options for (const pattern of Object.keys(fixture.patterns)) { const ast = parseRegExpLiteral(pattern, options) const history = [] as string[] const enter = (node: AST.Node): void => { history.push(`enter:${node.type}:${node.raw}`) } const leave = (node: AST.Node): void => { history.push(`leave:${node.type}:${node.raw}`) } visitRegExpAST(ast, { onAlternativeEnter: enter, onAssertionEnter: enter, onBackreferenceEnter: enter, onCapturingGroupEnter: enter, onCharacterEnter: enter, onCharacterClassEnter: enter, onCharacterClassRangeEnter: enter, onCharacterSetEnter: enter, onFlagsEnter: enter, onGroupEnter: enter, onPatternEnter: enter, onQuantifierEnter: enter, onRegExpLiteralEnter: enter, onAlternativeLeave: leave, onAssertionLeave: leave, onBackreferenceLeave: leave, onCapturingGroupLeave: leave, onCharacterLeave: leave, onCharacterClassLeave: leave, onCharacterClassRangeLeave: leave, onCharacterSetLeave: leave, onFlagsLeave: leave, onGroupLeave: leave, onPatternLeave: leave, onQuantifierLeave: leave, onRegExpLiteralLeave: leave, }) fixture.patterns[pattern] = history } Visitor.save() } regexpp-3.2.0/scripts/update-unicode-ids.ts000066400000000000000000000136521406163405500207230ustar00rootroot00000000000000import fs from "fs" import http from "http" import { CLIEngine } from "eslint" const DB_URL = "http://unicode.org/Public/UNIDATA/DerivedCoreProperties.txt" const FILE_PATH = "src/unicode/ids.ts" const ID_START = /^([0-9a-z]+)(?:\.\.([0-9a-z]+))?[^;]*; ID_Start /iu const ID_CONTINUE = /^([0-9a-z]+)(?:\.\.([0-9a-z]+))?[^;]*; ID_Continue /iu const BORDER = 0x7f const logger = console // Main ;(async () => { let banner = "" const idStartSet: Set = new Set() const idStartSmall: [number, number][] = [] const idStartLarge: [number, number][] = [] const idContinueSmall: [number, number][] = [] const idContinueLarge: [number, number][] = [] logger.log("Fetching data... (%s)", DB_URL) await processEachLine(line => { let m: RegExpExecArray | null = null if (banner === "") { logger.log("Processing data... (%s)", line.slice(2)) banner = `/* Generated from ${line.slice(2)} */` } else if ((m = ID_START.exec(line)) != null) { const min = parseInt(m[1], 16) const max = m[2] ? parseInt(m[2], 16) : min if (max <= BORDER) { idStartSmall.push([min, max]) } else { idStartSet.add(`${min}..${max}`) idStartLarge.push([min, max]) } } else if ((m = ID_CONTINUE.exec(line)) != null) { const min = parseInt(m[1], 16) const max = m[2] ? parseInt(m[2], 16) : min if (max <= BORDER) { idContinueSmall.push([min, max]) } else if (!idStartSet.has(`${min}..${max}`)) { idContinueLarge.push([min, max]) } } }) logger.log("Normalizing data...") normalizeRanges(idStartSmall) normalizeRanges(idStartLarge) normalizeRanges(idContinueSmall) normalizeRanges(idContinueLarge) logger.log("Generating code...") let code = `${banner} // Each two-element represents a range. // Even indices are minimum values and odd indices are maximum values. let largeIdStartRanges: number[] | undefined = undefined let largeIdContinueRanges: number[] | undefined = undefined export function isIdStart(cp: number): boolean { ${makeSmallCondition(idStartSmall)} return isLargeIdStart(cp) } export function isIdContinue(cp: number): boolean { ${makeSmallCondition(idContinueSmall)} return isLargeIdStart(cp) || isLargeIdContinue(cp) } function isLargeIdStart(cp: number): boolean { return isInRange(cp, largeIdStartRanges || (largeIdStartRanges = initLargeIdStartRanges())) } function isLargeIdContinue(cp: number): boolean { return isInRange(cp, largeIdContinueRanges || (largeIdContinueRanges = initLargeIdContinueRanges())) } function initLargeIdStartRanges(): number[] { ${makeInitLargeIdRanges(idStartLarge)} } function initLargeIdContinueRanges(): number[] { ${makeInitLargeIdRanges(idContinueLarge)} } function isInRange(cp: number, ranges: number[]): boolean { let l = 0, r = ranges.length / 2 | 0, i = 0, min = 0, max = 0 while (l < r) { i = (l + r) / 2 | 0 min = ranges[2 * i] max = ranges[2 * i + 1] if (cp < min) { r = i } else if (cp > max) { l = i + 1 } else { return true } } return false } function restoreRanges(data: string): number[] { let last = 0 return data.split(" ").map(s => (last += parseInt(s, 36) | 0)) } ` logger.log("Formatting code...") const engine = new CLIEngine({ fix: true, rules: { curly: "off" }, }) const result = engine.executeOnText(code, "ids.ts").results[0] code = result.output || code logger.log("Writing '%s'...", FILE_PATH) await save(code) logger.log("Completed!") })().catch(error => { logger.error(error.stack) process.exitCode = 1 }) function processEachLine(cb: (line: string) => void): Promise { return new Promise((resolve, reject) => { http.get(DB_URL, res => { let buffer = "" res.setEncoding("utf8") res.on("data", chunk => { const lines = (buffer + String(chunk)).split("\n") if (lines.length === 1) { buffer = lines[0] } else { buffer = lines.pop()! for (const line of lines) { cb(line) } } }) res.on("end", () => { if (buffer) { cb(buffer) } resolve() }) res.on("error", reject) }).on("error", reject) }) } function normalizeRanges(ranges: [number, number][]): void { for (let i = ranges.length - 1; i >= 1; --i) { const currRange = ranges[i] const prevRange = ranges[i - 1] if (currRange[0] - 1 === prevRange[1]) { prevRange[1] = currRange[1] ranges.splice(i, 1) } } } function makeSmallCondition(ranges: [number, number][]): string { const conditions: string[] = [] for (const [min, max] of ranges) { if (min === max) { conditions.push(`if (cp === 0x${min.toString(16)}) return true`) } else { conditions.push(`if (cp < 0x${min.toString(16)}) return false`) conditions.push(`if (cp < 0x${(max + 1).toString(16)}) return true`) } } return conditions.join("\n") } function makeInitLargeIdRanges(ranges: [number, number][]): string { const diffs: string[] = [] let last = 0 for (const [min, max] of ranges) { diffs.push((min - last).toString(36), (max - min).toString(36)) last = max } return `return restoreRanges("${diffs.join(" ")}")` } function save(content: string): Promise { return new Promise((resolve, reject) => { fs.writeFile(FILE_PATH, content, error => error ? reject(error) : resolve(), ) }) } regexpp-3.2.0/scripts/update-unicode-properties.ts000066400000000000000000000153621406163405500223400ustar00rootroot00000000000000import fs from "fs" import { JSDOM, DOMWindow } from "jsdom" import { CLIEngine } from "eslint" const DataSources = [ { url: "https://www.ecma-international.org/ecma-262/9.0/", version: 2018, binProperties: "#table-binary-unicode-properties", gcValues: "#table-unicode-general-category-values", scValues: "#table-unicode-script-values", }, { url: "https://www.ecma-international.org/ecma-262/10.0/", version: 2019, binProperties: "#table-binary-unicode-properties", gcValues: "#table-unicode-general-category-values", scValues: "#table-unicode-script-values", }, { url: "https://www.ecma-international.org/ecma-262/11.0/", version: 2020, binProperties: "#table-binary-unicode-properties", gcValues: "#table-unicode-general-category-values", scValues: "#table-unicode-script-values", }, { url: "https://tc39.es/ecma262/", version: 2021, binProperties: "#table-binary-unicode-properties", gcValues: "#table-unicode-general-category-values", scValues: "#table-unicode-script-values", }, ] const FILE_PATH = "src/unicode/properties.ts" const logger = console type Datum = { binProperties: string[] gcValues: string[] scValues: string[] } // Main ;(async () => { const data: Record = Object.create(null) const existing = { binProperties: new Set(), gcValues: new Set(), scValues: new Set(), } for (const { binProperties, gcValues, scValues, url, version, } of DataSources) { logger.log("---- ECMAScript %d ----", version) const datum: Datum = { binProperties: [], gcValues: [], scValues: [], } data[version] = datum let window: DOMWindow | null = null do { try { logger.log("Fetching data from %o", url) ;({ window } = await JSDOM.fromURL(url)) } catch (error) { if (!error || error.message !== "Error: socket hang up") { throw error } logger.log(error.message, "then retry.") await new Promise(resolve => setTimeout(resolve, 2000)) } } while (window == null) logger.log("Parsing tables") datum.binProperties = collectValues( window, binProperties, existing.binProperties, ) datum.gcValues = collectValues(window, gcValues, existing.gcValues) datum.scValues = collectValues(window, scValues, existing.scValues) logger.log("Done") } logger.log("Generating code...") let code = `/* This file was generated with ECMAScript specifications. */ ${makeClassDeclarationCode(Object.keys(data))} const gcNameSet = new Set(["General_Category", "gc"]) const scNameSet = new Set(["Script", "Script_Extensions", "sc", "scx"]) const gcValueSets = new DataSet(${Object.values(data) .map(d => makeDataCode(d.gcValues)) .join(",")}) const scValueSets = new DataSet(${Object.values(data) .map(d => makeDataCode(d.scValues)) .join(",")}) const binPropertySets = new DataSet(${Object.values(data) .map(d => makeDataCode(d.binProperties)) .join(",")}) export function isValidUnicodeProperty(version: number, name: string, value: string): boolean { if (gcNameSet.has(name)) { return ${Object.entries(data) .map(([version, { gcValues }]) => makeVerificationCode(version, "gcValueSets", gcValues), ) .filter(Boolean) .join(" || ")} } if (scNameSet.has(name)) { return ${Object.entries(data) .map(([version, { scValues }]) => makeVerificationCode(version, "scValueSets", scValues), ) .filter(Boolean) .join(" || ")} } return false } export function isValidLoneUnicodeProperty(version: number, value: string): boolean { return ${Object.entries(data) .map(([version, { binProperties }]) => makeVerificationCode(version, "binPropertySets", binProperties), ) .filter(Boolean) .join(" || ")} } ` logger.log("Formatting code...") const engine = new CLIEngine({ fix: true }) const result = engine.executeOnText(code, "properties.ts").results[0] code = result.output || code logger.log("Writing '%s'...", FILE_PATH) await save(code) logger.log("Completed!") })().catch(error => { logger.error(error.stack) process.exitCode = 1 }) function collectValues( window: Window, id: string, existingSet: Set, ): string[] { const selector = `${id} td:nth-child(1) code` const nodes = window.document.querySelectorAll(selector) const values = Array.from(nodes, node => node.textContent || "") .filter(value => { if (existingSet.has(value)) { return false } existingSet.add(value) return true }) .sort(undefined) logger.log( "%o nodes of %o were found, then %o adopted and %o ignored as duplication.", nodes.length, selector, values.length, nodes.length - values.length, ) return values } function makeClassDeclarationCode(versions: string[]): string { const fields = versions .map( v => `private _raw${v}: string\nprivate _set${v}: Set | undefined`, ) .join("\n") const parameters = versions.map(v => `raw${v}: string`).join(", ") const init = versions.map(v => `this._raw${v} = raw${v}`).join("\n") const getters = versions .map( v => `public get es${v}(): Set { return this._set${v} || (this._set${v} = new Set(this._raw${v}.split(" "))) }`, ) .join("\n") return ` class DataSet { ${fields} public constructor(${parameters}) { ${init} } ${getters} } ` } function makeDataCode(values: string[]): string { return `"${values .map(value => JSON.stringify(value).slice(1, -1)) .join(" ")}"` } function makeVerificationCode( version: string, patternVar: string, values: string[], ): string { if (values.length === 0) { return "" } return `(version >= ${version} && ${patternVar}.es${version}.has(value))` } function save(content: string): Promise { return new Promise((resolve, reject) => { fs.writeFile(FILE_PATH, content, error => error ? reject(error) : resolve(), ) }) } regexpp-3.2.0/src/000077500000000000000000000000001406163405500137615ustar00rootroot00000000000000regexpp-3.2.0/src/ast.ts000066400000000000000000000141051406163405500151210ustar00rootroot00000000000000/** * The type which includes all nodes. */ export type Node = BranchNode | LeafNode /** * The type which includes all branch nodes. */ export type BranchNode = | RegExpLiteral | Pattern | Alternative | Group | CapturingGroup | Quantifier | CharacterClass | LookaroundAssertion | CharacterClassRange /** * The type which includes all leaf nodes. */ export type LeafNode = | BoundaryAssertion | CharacterSet | Character | Backreference | Flags /** * The type which includes all atom nodes. */ export type Element = Assertion | Quantifier | QuantifiableElement /** * The type which includes all atom nodes that Quantifier node can have as children. */ export type QuantifiableElement = | Group | CapturingGroup | CharacterClass | CharacterSet | Character | Backreference // Lookahead assertions is quantifiable in Annex-B. | LookaheadAssertion /** * The type which includes all character class atom nodes. */ export type CharacterClassElement = | EscapeCharacterSet | UnicodePropertyCharacterSet | Character | CharacterClassRange /** * The type which defines common properties for all node types. */ export interface NodeBase { /** The node type. */ type: Node["type"] /** The parent node. */ parent: Node["parent"] /** The 0-based index that this node starts. */ start: number /** The 0-based index that this node ends. */ end: number /** The raw text of this node. */ raw: string } /** * The root node. */ export interface RegExpLiteral extends NodeBase { type: "RegExpLiteral" parent: null pattern: Pattern flags: Flags } /** * The pattern. */ export interface Pattern extends NodeBase { type: "Pattern" parent: RegExpLiteral | null alternatives: Alternative[] } /** * The alternative. * E.g. `a|b` */ export interface Alternative extends NodeBase { type: "Alternative" parent: Pattern | Group | CapturingGroup | LookaroundAssertion elements: Element[] } /** * The uncapturing group. * E.g. `(?:ab)` */ export interface Group extends NodeBase { type: "Group" parent: Alternative | Quantifier alternatives: Alternative[] } /** * The capturing group. * E.g. `(ab)`, `(?ab)` */ export interface CapturingGroup extends NodeBase { type: "CapturingGroup" parent: Alternative | Quantifier name: string | null alternatives: Alternative[] references: Backreference[] } /** * The lookaround assertion. */ export type LookaroundAssertion = LookaheadAssertion | LookbehindAssertion /** * The lookahead assertion. * E.g. `(?=ab)`, `(?!ab)` */ export interface LookaheadAssertion extends NodeBase { type: "Assertion" parent: Alternative | Quantifier kind: "lookahead" negate: boolean alternatives: Alternative[] } /** * The lookbehind assertion. * E.g. `(?<=ab)`, `(?` */ export interface Backreference extends NodeBase { type: "Backreference" parent: Alternative | Quantifier ref: number | string resolved: CapturingGroup } /** * The flags. */ export interface Flags extends NodeBase { type: "Flags" parent: RegExpLiteral | null dotAll: boolean global: boolean hasIndices: boolean ignoreCase: boolean multiline: boolean sticky: boolean unicode: boolean } regexpp-3.2.0/src/ecma-versions.ts000066400000000000000000000001721406163405500171040ustar00rootroot00000000000000export type EcmaVersion = | 5 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 regexpp-3.2.0/src/index.ts000066400000000000000000000020541406163405500154410ustar00rootroot00000000000000import * as AST from "./ast" import { RegExpParser } from "./parser" import { RegExpValidator } from "./validator" import { RegExpVisitor } from "./visitor" export { AST, RegExpParser, RegExpValidator } /** * Parse a given regular expression literal then make AST object. * @param source The source code to parse. * @param options The options to parse. * @returns The AST of the regular expression. */ export function parseRegExpLiteral( source: string | RegExp, options?: RegExpParser.Options, ): AST.RegExpLiteral { return new RegExpParser(options).parseLiteral(String(source)) } /** * Validate a given regular expression literal. * @param source The source code to validate. * @param options The options to validate. */ export function validateRegExpLiteral( source: string, options?: RegExpValidator.Options, ): void { return new RegExpValidator(options).validateLiteral(source) } export function visitRegExpAST( node: AST.Node, handlers: RegExpVisitor.Handlers, ): void { new RegExpVisitor(handlers).visit(node) } regexpp-3.2.0/src/parser.ts000066400000000000000000000370711406163405500156350ustar00rootroot00000000000000import { Alternative, Backreference, CapturingGroup, CharacterClass, CharacterClassElement, CharacterClassRange, Flags, Group, RegExpLiteral, LookaroundAssertion, Pattern, Quantifier, } from "./ast" import { EcmaVersion } from "./ecma-versions" import { HyphenMinus } from "./unicode" import { RegExpValidator } from "./validator" type AppendableNode = | Pattern | Alternative | Group | CapturingGroup | CharacterClass | LookaroundAssertion const DummyPattern: Pattern = {} as any const DummyFlags: Flags = {} as any const DummyCapturingGroup: CapturingGroup = {} as any class RegExpParserState { public readonly strict: boolean public readonly ecmaVersion: EcmaVersion private _node: AppendableNode = DummyPattern private _flags: Flags = DummyFlags private _backreferences: Backreference[] = [] private _capturingGroups: CapturingGroup[] = [] public source = "" public constructor(options?: RegExpParser.Options) { this.strict = Boolean(options && options.strict) this.ecmaVersion = (options && options.ecmaVersion) || 2022 } public get pattern(): Pattern { if (this._node.type !== "Pattern") { throw new Error("UnknownError") } return this._node } public get flags(): Flags { if (this._flags.type !== "Flags") { throw new Error("UnknownError") } return this._flags } public onFlags( start: number, end: number, global: boolean, ignoreCase: boolean, multiline: boolean, unicode: boolean, sticky: boolean, dotAll: boolean, hasIndices: boolean, ): void { this._flags = { type: "Flags", parent: null, start, end, raw: this.source.slice(start, end), global, ignoreCase, multiline, unicode, sticky, dotAll, hasIndices, } } public onPatternEnter(start: number): void { this._node = { type: "Pattern", parent: null, start, end: start, raw: "", alternatives: [], } this._backreferences.length = 0 this._capturingGroups.length = 0 } public onPatternLeave(start: number, end: number): void { this._node.end = end this._node.raw = this.source.slice(start, end) for (const reference of this._backreferences) { const ref = reference.ref const group = typeof ref === "number" ? this._capturingGroups[ref - 1] : this._capturingGroups.find(g => g.name === ref)! reference.resolved = group group.references.push(reference) } } public onAlternativeEnter(start: number): void { const parent = this._node if ( parent.type !== "Assertion" && parent.type !== "CapturingGroup" && parent.type !== "Group" && parent.type !== "Pattern" ) { throw new Error("UnknownError") } this._node = { type: "Alternative", parent, start, end: start, raw: "", elements: [], } parent.alternatives.push(this._node) } public onAlternativeLeave(start: number, end: number): void { const node = this._node if (node.type !== "Alternative") { throw new Error("UnknownError") } node.end = end node.raw = this.source.slice(start, end) this._node = node.parent } public onGroupEnter(start: number): void { const parent = this._node if (parent.type !== "Alternative") { throw new Error("UnknownError") } this._node = { type: "Group", parent, start, end: start, raw: "", alternatives: [], } parent.elements.push(this._node) } public onGroupLeave(start: number, end: number): void { const node = this._node if (node.type !== "Group" || node.parent.type !== "Alternative") { throw new Error("UnknownError") } node.end = end node.raw = this.source.slice(start, end) this._node = node.parent } public onCapturingGroupEnter(start: number, name: string | null): void { const parent = this._node if (parent.type !== "Alternative") { throw new Error("UnknownError") } this._node = { type: "CapturingGroup", parent, start, end: start, raw: "", name, alternatives: [], references: [], } parent.elements.push(this._node) this._capturingGroups.push(this._node) } public onCapturingGroupLeave(start: number, end: number): void { const node = this._node if ( node.type !== "CapturingGroup" || node.parent.type !== "Alternative" ) { throw new Error("UnknownError") } node.end = end node.raw = this.source.slice(start, end) this._node = node.parent } public onQuantifier( start: number, end: number, min: number, max: number, greedy: boolean, ): void { const parent = this._node if (parent.type !== "Alternative") { throw new Error("UnknownError") } // Replace the last element. const element = parent.elements.pop() if ( element == null || element.type === "Quantifier" || (element.type === "Assertion" && element.kind !== "lookahead") ) { throw new Error("UnknownError") } const node: Quantifier = { type: "Quantifier", parent, start: element.start, end, raw: this.source.slice(element.start, end), min, max, greedy, element, } parent.elements.push(node) element.parent = node } public onLookaroundAssertionEnter( start: number, kind: "lookahead" | "lookbehind", negate: boolean, ): void { const parent = this._node if (parent.type !== "Alternative") { throw new Error("UnknownError") } const node: LookaroundAssertion = (this._node = { type: "Assertion", parent, start, end: start, raw: "", kind, negate, alternatives: [], }) parent.elements.push(node) } public onLookaroundAssertionLeave(start: number, end: number): void { const node = this._node if (node.type !== "Assertion" || node.parent.type !== "Alternative") { throw new Error("UnknownError") } node.end = end node.raw = this.source.slice(start, end) this._node = node.parent } public onEdgeAssertion( start: number, end: number, kind: "start" | "end", ): void { const parent = this._node if (parent.type !== "Alternative") { throw new Error("UnknownError") } parent.elements.push({ type: "Assertion", parent, start, end, raw: this.source.slice(start, end), kind, }) } public onWordBoundaryAssertion( start: number, end: number, kind: "word", negate: boolean, ): void { const parent = this._node if (parent.type !== "Alternative") { throw new Error("UnknownError") } parent.elements.push({ type: "Assertion", parent, start, end, raw: this.source.slice(start, end), kind, negate, }) } public onAnyCharacterSet(start: number, end: number, kind: "any"): void { const parent = this._node if (parent.type !== "Alternative") { throw new Error("UnknownError") } parent.elements.push({ type: "CharacterSet", parent, start, end, raw: this.source.slice(start, end), kind, }) } public onEscapeCharacterSet( start: number, end: number, kind: "digit" | "space" | "word", negate: boolean, ): void { const parent = this._node if (parent.type !== "Alternative" && parent.type !== "CharacterClass") { throw new Error("UnknownError") } ;(parent.elements as CharacterClassElement[]).push({ type: "CharacterSet", parent, start, end, raw: this.source.slice(start, end), kind, negate, }) } public onUnicodePropertyCharacterSet( start: number, end: number, kind: "property", key: string, value: string | null, negate: boolean, ): void { const parent = this._node if (parent.type !== "Alternative" && parent.type !== "CharacterClass") { throw new Error("UnknownError") } ;(parent.elements as CharacterClassElement[]).push({ type: "CharacterSet", parent, start, end, raw: this.source.slice(start, end), kind, key, value, negate, }) } public onCharacter(start: number, end: number, value: number): void { const parent = this._node if (parent.type !== "Alternative" && parent.type !== "CharacterClass") { throw new Error("UnknownError") } ;(parent.elements as CharacterClassElement[]).push({ type: "Character", parent, start, end, raw: this.source.slice(start, end), value, }) } public onBackreference( start: number, end: number, ref: number | string, ): void { const parent = this._node if (parent.type !== "Alternative") { throw new Error("UnknownError") } const node: Backreference = { type: "Backreference", parent, start, end, raw: this.source.slice(start, end), ref, resolved: DummyCapturingGroup, } parent.elements.push(node) this._backreferences.push(node) } public onCharacterClassEnter(start: number, negate: boolean): void { const parent = this._node if (parent.type !== "Alternative") { throw new Error("UnknownError") } this._node = { type: "CharacterClass", parent, start, end: start, raw: "", negate, elements: [], } parent.elements.push(this._node) } public onCharacterClassLeave(start: number, end: number): void { const node = this._node if ( node.type !== "CharacterClass" || node.parent.type !== "Alternative" ) { throw new Error("UnknownError") } node.end = end node.raw = this.source.slice(start, end) this._node = node.parent } public onCharacterClassRange(start: number, end: number): void { const parent = this._node if (parent.type !== "CharacterClass") { throw new Error("UnknownError") } // Replace the last three elements. const elements = parent.elements const max = elements.pop() const hyphen = elements.pop() const min = elements.pop() if ( !min || !max || !hyphen || min.type !== "Character" || max.type !== "Character" || hyphen.type !== "Character" || hyphen.value !== HyphenMinus ) { throw new Error("UnknownError") } const node: CharacterClassRange = { type: "CharacterClassRange", parent, start, end, raw: this.source.slice(start, end), min, max, } min.parent = node max.parent = node elements.push(node) } } export namespace RegExpParser { /** * The options for RegExpParser construction. */ export interface Options { /** * The flag to disable Annex B syntax. Default is `false`. */ strict?: boolean /** * ECMAScript version. Default is `2022`. * - `2015` added `u` and `y` flags. * - `2018` added `s` flag, Named Capturing Group, Lookbehind Assertion, * and Unicode Property Escape. * - `2019`, `2020`, and `2021` added more valid Unicode Property Escapes. * - `2022` added `d` flag. */ ecmaVersion?: EcmaVersion } } export class RegExpParser { private _state: RegExpParserState private _validator: RegExpValidator /** * Initialize this parser. * @param options The options of parser. */ public constructor(options?: RegExpParser.Options) { this._state = new RegExpParserState(options) this._validator = new RegExpValidator(this._state) } /** * Parse a regular expression literal. E.g. "/abc/g" * @param source The source code to parse. * @param start The start index in the source code. * @param end The end index in the source code. * @returns The AST of the given regular expression. */ public parseLiteral( source: string, start = 0, end: number = source.length, ): RegExpLiteral { this._state.source = source this._validator.validateLiteral(source, start, end) const pattern = this._state.pattern const flags = this._state.flags const literal: RegExpLiteral = { type: "RegExpLiteral", parent: null, start, end, raw: source, pattern, flags, } pattern.parent = literal flags.parent = literal return literal } /** * Parse a regular expression flags. E.g. "gim" * @param source The source code to parse. * @param start The start index in the source code. * @param end The end index in the source code. * @returns The AST of the given flags. */ public parseFlags( source: string, start = 0, end: number = source.length, ): Flags { this._state.source = source this._validator.validateFlags(source, start, end) return this._state.flags } /** * Parse a regular expression pattern. E.g. "abc" * @param source The source code to parse. * @param start The start index in the source code. * @param end The end index in the source code. * @param uFlag The flag to set unicode mode. * @returns The AST of the given pattern. */ public parsePattern( source: string, start = 0, end: number = source.length, uFlag = false, ): Pattern { this._state.source = source this._validator.validatePattern(source, start, end, uFlag) return this._state.pattern } } regexpp-3.2.0/src/reader.ts000066400000000000000000000060601406163405500155750ustar00rootroot00000000000000const legacyImpl = { at(s: string, end: number, i: number): number { return i < end ? s.charCodeAt(i) : -1 }, width(c: number): number { return 1 }, } const unicodeImpl = { at(s: string, end: number, i: number): number { return i < end ? s.codePointAt(i)! : -1 }, width(c: number): number { return c > 0xffff ? 2 : 1 }, } export class Reader { private _impl = legacyImpl private _s = "" private _i = 0 private _end = 0 private _cp1: number = -1 private _w1 = 1 private _cp2: number = -1 private _w2 = 1 private _cp3: number = -1 private _w3 = 1 private _cp4: number = -1 public get source(): string { return this._s } public get index(): number { return this._i } public get currentCodePoint(): number { return this._cp1 } public get nextCodePoint(): number { return this._cp2 } public get nextCodePoint2(): number { return this._cp3 } public get nextCodePoint3(): number { return this._cp4 } public reset( source: string, start: number, end: number, uFlag: boolean, ): void { this._impl = uFlag ? unicodeImpl : legacyImpl this._s = source this._end = end this.rewind(start) } public rewind(index: number): void { const impl = this._impl this._i = index this._cp1 = impl.at(this._s, this._end, index) this._w1 = impl.width(this._cp1) this._cp2 = impl.at(this._s, this._end, index + this._w1) this._w2 = impl.width(this._cp2) this._cp3 = impl.at(this._s, this._end, index + this._w1 + this._w2) this._w3 = impl.width(this._cp3) this._cp4 = impl.at( this._s, this._end, index + this._w1 + this._w2 + this._w3, ) } public advance(): void { if (this._cp1 !== -1) { const impl = this._impl this._i += this._w1 this._cp1 = this._cp2 this._w1 = this._w2 this._cp2 = this._cp3 this._w2 = impl.width(this._cp2) this._cp3 = this._cp4 this._w3 = impl.width(this._cp3) this._cp4 = impl.at( this._s, this._end, this._i + this._w1 + this._w2 + this._w3, ) } } public eat(cp: number): boolean { if (this._cp1 === cp) { this.advance() return true } return false } public eat2(cp1: number, cp2: number): boolean { if (this._cp1 === cp1 && this._cp2 === cp2) { this.advance() this.advance() return true } return false } public eat3(cp1: number, cp2: number, cp3: number): boolean { if (this._cp1 === cp1 && this._cp2 === cp2 && this._cp3 === cp3) { this.advance() this.advance() this.advance() return true } return false } } regexpp-3.2.0/src/regexp-syntax-error.ts000066400000000000000000000011041406163405500202720ustar00rootroot00000000000000export class RegExpSyntaxError extends SyntaxError { public index: number public constructor( source: string, uFlag: boolean, index: number, message: string, ) { /*eslint-disable no-param-reassign */ if (source) { if (!source.startsWith("/")) { source = `/${source}/${uFlag ? "u" : ""}` } source = `: ${source}` } /*eslint-enable no-param-reassign */ super(`Invalid regular expression${source}: ${message}`) this.index = index } } regexpp-3.2.0/src/unicode/000077500000000000000000000000001406163405500154075ustar00rootroot00000000000000regexpp-3.2.0/src/unicode/ids.ts000066400000000000000000000141221406163405500165360ustar00rootroot00000000000000/* Generated from DerivedCoreProperties-13.0.0.txt */ // Each two-element represents a range. // Even indices are minimum values and odd indices are maximum values. let largeIdStartRanges: number[] | undefined = undefined let largeIdContinueRanges: number[] | undefined = undefined export function isIdStart(cp: number): boolean { if (cp < 0x41) return false if (cp < 0x5b) return true if (cp < 0x61) return false if (cp < 0x7b) return true return isLargeIdStart(cp) } export function isIdContinue(cp: number): boolean { if (cp < 0x30) return false if (cp < 0x3a) return true if (cp < 0x41) return false if (cp < 0x5b) return true if (cp === 0x5f) return true if (cp < 0x61) return false if (cp < 0x7b) return true return isLargeIdStart(cp) || isLargeIdContinue(cp) } function isLargeIdStart(cp: number): boolean { return isInRange( cp, largeIdStartRanges || (largeIdStartRanges = initLargeIdStartRanges()), ) } function isLargeIdContinue(cp: number): boolean { return isInRange( cp, largeIdContinueRanges || (largeIdContinueRanges = initLargeIdContinueRanges()), ) } function initLargeIdStartRanges(): number[] { return restoreRanges( "4q 0 b 0 5 0 6 m 2 u 2 cp 5 b f 4 8 0 2 0 3m 4 2 1 3 3 2 0 7 0 2 2 2 0 2 j 2 2a 2 3u 9 4l 2 11 3 0 7 14 20 q 5 3 1a 16 10 1 2 2q 2 0 g 1 8 1 b 2 3 0 h 0 2 t u 2g c 0 p w a 1 5 0 6 l 5 0 a 0 4 0 o o 8 a 1i k 2 h 1p 1h 4 0 j 0 8 9 g f 5 7 3 1 3 l 2 6 2 0 4 3 4 0 h 0 e 1 2 2 f 1 b 0 9 5 5 1 3 l 2 6 2 1 2 1 2 1 w 3 2 0 k 2 h 8 2 2 2 l 2 6 2 1 2 4 4 0 j 0 g 1 o 0 c 7 3 1 3 l 2 6 2 1 2 4 4 0 v 1 2 2 g 0 i 0 2 5 4 2 2 3 4 1 2 0 2 1 4 1 4 2 4 b n 0 1h 7 2 2 2 m 2 f 4 0 r 2 6 1 v 0 5 7 2 2 2 m 2 9 2 4 4 0 x 0 2 1 g 1 i 8 2 2 2 14 3 0 h 0 6 2 9 2 p 5 6 h 4 n 2 8 2 0 3 6 1n 1b 2 1 d 6 1n 1 2 0 2 4 2 n 2 0 2 9 2 1 a 0 3 4 2 0 m 3 x 0 1s 7 2 z s 4 38 16 l 0 h 5 5 3 4 0 4 1 8 2 5 c d 0 i 11 2 0 6 0 3 16 2 98 2 3 3 6 2 0 2 3 3 14 2 3 3 w 2 3 3 6 2 0 2 3 3 e 2 1k 2 3 3 1u 12 f h 2d 3 5 4 h7 3 g 2 p 6 22 4 a 8 c 2 3 f h f h f c 2 2 g 1f 10 0 5 0 1w 2g 8 14 2 0 6 1x b u 1e t 3 4 c 17 5 p 1j m a 1g 2b 0 2m 1a i 6 1k t e 1 b 17 r z 16 2 b z 3 8 8 16 3 2 16 3 2 5 2 1 4 0 6 5b 1t 7p 3 5 3 11 3 5 3 7 2 0 2 0 2 0 2 u 3 1g 2 6 2 0 4 2 2 6 4 3 3 5 5 c 6 2 2 6 39 0 e 0 h c 2u 0 5 0 3 9 2 0 3 5 7 0 2 0 2 0 2 f 3 3 6 4 5 0 i 14 22g 1a 2 1a 2 3o 7 3 4 1 d 11 2 0 6 0 3 1j 8 0 h m a 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 fb 2 q 8 8 4 3 4 5 2d 5 4 2 2h 2 3 6 16 2 2l i v 1d f e9 533 1t g70 4 wc 1w 19 3 7g 4 f b 1 l 1a h u 3 27 14 8 3 2u 3 1g 3 8 17 c 2 2 2 3 2 m u 1f f 1d 1r 5 4 0 2 1 c r b m q s 8 1a t 0 h 4 2 9 b 4 2 14 o 2 2 7 l m 4 0 4 1d 2 0 4 1 3 4 3 0 2 0 p 2 3 a 8 2 d 5 3 5 3 5 a 6 2 6 2 16 2 d 7 36 u 8mb d m 5 1c 6it a5 3 2x 13 6 d 4 6 0 2 9 2 c 2 4 2 0 2 1 2 1 2 2z y a2 j 1r 3 1h 15 b 39 4 2 3q 11 p 7 p c 2g 4 5 3 5 3 5 3 2 10 b 2 p 2 i 2 1 2 e 3 d z 3e 1y 1g 7g s 4 1c 1c v e t 6 11 b t 3 z 5 7 2 4 17 4d j z 5 z 5 13 9 1f 4d 8m a l b 7 49 5 3 0 2 17 2 1 4 0 3 m b m a u 1u i 2 1 b l b p 1z 1j 7 1 1t 0 g 3 2 2 2 s 17 s 4 s 10 7 2 r s 1h b l b i e h 33 20 1k 1e e 1e e z 9p 15 7 1 27 s b 0 9 l 2z k s m d 1g 24 18 x o r z u 0 3 0 9 y 4 0 d 1b f 3 m 0 2 0 10 h 2 o 2d 6 2 0 2 3 2 e 2 9 8 1a 13 7 3 1 3 l 2 6 2 1 2 4 4 0 j 0 d 4 4f 1g j 3 l 2 v 1b l 1 2 0 55 1a 16 3 11 1b l 0 1o 16 e 0 20 q 6e 17 39 1r w 7 3 0 3 7 2 1 2 n g 0 2 0 2n 7 3 12 h 0 2 0 t 0 b 13 8 0 m 0 c 19 k 0 z 1k 7c 8 2 10 i 0 1e t 35 6 2 1 2 11 m 0 q 5 2 1 2 v f 0 94 i 5a 0 28 pl 2v 32 i 5f 24d tq 34i g6 6nu fs 8 u 36 t j 1b h 3 w k 6 i j5 1r 3l 22 6 0 1v c 1t 1 2 0 t 4qf 9 yd 17 8 6wo 7y 1e 2 i 3 9 az 1s5 2y 6 c 4 8 8 9 4mf 2c 2 1y 2 1 3 0 3 1 3 3 2 b 2 0 2 6 2 1s 2 3 3 7 2 6 2 r 2 3 2 4 2 0 4 6 2 9f 3 o 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 7 1th 18 b 6 h 0 aa 17 105 5g 1o 1v 8 0 xh 3 2 q 2 1 2 0 3 0 2 9 2 3 2 0 2 0 7 0 5 0 2 0 2 0 2 2 2 1 2 0 3 0 2 0 2 0 2 0 2 0 2 1 2 0 3 3 2 6 2 3 2 3 2 0 2 9 2 g 6 2 2 4 2 g 3et wyl z 378 c 65 3 4g1 f 5rk 2e8 f1 15v 3t6", ) } function initLargeIdContinueRanges(): number[] { return restoreRanges( "53 0 g9 33 o 0 70 4 7e 18 2 0 2 1 2 1 2 0 21 a 1d u 7 0 2u 6 3 5 3 1 2 3 3 9 o 0 v q 2k a g 9 y 8 a 0 p 3 2 8 2 2 2 4 18 2 3c e 2 w 1j 2 2 h 2 6 b 1 3 9 i 2 1l 0 2 6 3 1 3 2 a 0 b 1 3 9 f 0 3 2 1l 0 2 4 5 1 3 2 4 0 l b 4 0 c 2 1l 0 2 7 2 2 2 2 l 1 3 9 b 5 2 2 1l 0 2 6 3 1 3 2 8 2 b 1 3 9 j 0 1o 4 4 2 2 3 a 0 f 9 h 4 1m 6 2 2 2 3 8 1 c 1 3 9 i 2 1l 0 2 6 2 2 2 3 8 1 c 1 3 9 h 3 1k 1 2 6 2 2 2 3 a 0 b 1 3 9 i 2 1z 0 5 5 2 0 2 7 7 9 3 1 1q 0 3 6 d 7 2 9 2g 0 3 8 c 5 3 9 1r 1 7 9 c 0 2 0 2 0 5 1 1e j 2 1 6 a 2 z a 0 2t j 2 9 d 3 5 2 2 2 3 6 4 3 e b 2 e jk 2 a 8 pt 2 u 2 u 1 v 1 1t v a 0 3 9 y 2 3 9 40 0 3b b 5 b b 9 3l a 1p 4 1m 9 2 s 3 a 7 9 n d 2 1 1s 4 1c g c 9 i 8 d 2 v c 3 9 19 d 1d j 9 9 7 9 3b 2 2 k 5 0 7 0 3 2 5j 1l 2 4 g0 1 k 0 3g c 5 0 4 b 2db 2 3y 0 2p v ff 5 2y 1 n7q 9 1y 0 5 9 x 1 29 1 7l 0 4 0 5 0 o 4 5 0 2c 1 1f h b 9 7 h e a t 7 q c 19 3 1c d g 9 c 0 b 9 1c d d 0 9 1 3 9 y 2 1f 0 2 2 3 1 6 1 2 0 16 4 6 1 6l 7 2 1 3 9 fmt 0 ki f h f 4 1 p 2 5d 9 12 0 ji 0 6b 0 46 4 86 9 120 2 2 1 6 3 15 2 5 0 4m 1 fy 3 9 9 aa 1 4a a 4w 2 1i e w 9 g 3 1a a 1i 9 7 2 11 d 2 9 6 1 19 0 d 2 1d d 9 3 2 b 2b b 7 0 4h b 6 9 7 3 1k 1 2 6 3 1 3 2 a 0 b 1 3 6 4 4 5d h a 9 5 0 2a j d 9 5y 6 3 8 s 1 2b g g 9 2a c 9 9 2c e 5 9 6r e 4m 9 1z 5 2 1 3 3 2 0 2 1 d 9 3c 6 3 6 4 0 t 9 15 6 2 3 9 0 a a 1b f ba 7 2 7 h 9 1l l 2 d 3f 5 4 0 2 1 2 6 2 0 9 9 1d 4 2 1 2 4 9 9 96 3 ewa 9 3r 4 1o 6 q 9 s6 0 2 1i 8 3 2a 0 c 1 f58 1 43r 4 4 5 9 7 3 6 v 3 45 2 13e 1d e9 1i 5 1d 9 0 f 0 n 4 2 e 11t 6 2 g 3 6 2 1 2 4 7a 6 a 9 bn d 15j 6 32 6 6 9 3o7 9 gvt3 6n", ) } function isInRange(cp: number, ranges: number[]): boolean { let l = 0, r = (ranges.length / 2) | 0, i = 0, min = 0, max = 0 while (l < r) { i = ((l + r) / 2) | 0 min = ranges[2 * i] max = ranges[2 * i + 1] if (cp < min) { r = i } else if (cp > max) { l = i + 1 } else { return true } } return false } function restoreRanges(data: string): number[] { let last = 0 return data.split(" ").map(s => (last += parseInt(s, 36) | 0)) } regexpp-3.2.0/src/unicode/index.ts000066400000000000000000000102241406163405500170650ustar00rootroot00000000000000export { isIdContinue, isIdStart } from "./ids" export { isValidLoneUnicodeProperty, isValidUnicodeProperty, } from "./properties" export const Null = 0x00 export const Backspace = 0x08 export const CharacterTabulation = 0x09 export const LineFeed = 0x0a export const LineTabulation = 0x0b export const FormFeed = 0x0c export const CarriageReturn = 0x0d export const ExclamationMark = 0x21 export const DollarSign = 0x24 export const LeftParenthesis = 0x28 export const RightParenthesis = 0x29 export const Asterisk = 0x2a export const PlusSign = 0x2b export const Comma = 0x2c export const HyphenMinus = 0x2d export const FullStop = 0x2e export const Solidus = 0x2f export const DigitZero = 0x30 export const DigitOne = 0x31 export const DigitSeven = 0x37 export const DigitNine = 0x39 export const Colon = 0x3a export const LessThanSign = 0x3c export const EqualsSign = 0x3d export const GreaterThanSign = 0x3e export const QuestionMark = 0x3f export const LatinCapitalLetterA = 0x41 export const LatinCapitalLetterB = 0x42 export const LatinCapitalLetterD = 0x44 export const LatinCapitalLetterF = 0x46 export const LatinCapitalLetterP = 0x50 export const LatinCapitalLetterS = 0x53 export const LatinCapitalLetterW = 0x57 export const LatinCapitalLetterZ = 0x5a export const LowLine = 0x5f export const LatinSmallLetterA = 0x61 export const LatinSmallLetterB = 0x62 export const LatinSmallLetterC = 0x63 export const LatinSmallLetterD = 0x64 export const LatinSmallLetterF = 0x66 export const LatinSmallLetterG = 0x67 export const LatinSmallLetterI = 0x69 export const LatinSmallLetterK = 0x6b export const LatinSmallLetterM = 0x6d export const LatinSmallLetterN = 0x6e export const LatinSmallLetterP = 0x70 export const LatinSmallLetterR = 0x72 export const LatinSmallLetterS = 0x73 export const LatinSmallLetterT = 0x74 export const LatinSmallLetterU = 0x75 export const LatinSmallLetterV = 0x76 export const LatinSmallLetterW = 0x77 export const LatinSmallLetterX = 0x78 export const LatinSmallLetterY = 0x79 export const LatinSmallLetterZ = 0x7a export const LeftSquareBracket = 0x5b export const ReverseSolidus = 0x5c export const RightSquareBracket = 0x5d export const CircumflexAccent = 0x5e export const LeftCurlyBracket = 0x7b export const VerticalLine = 0x7c export const RightCurlyBracket = 0x7d export const ZeroWidthNonJoiner = 0x200c export const ZeroWidthJoiner = 0x200d export const LineSeparator = 0x2028 export const ParagraphSeparator = 0x2029 export const MinCodePoint = 0x00 export const MaxCodePoint = 0x10ffff export function isLatinLetter(code: number): boolean { return ( (code >= LatinCapitalLetterA && code <= LatinCapitalLetterZ) || (code >= LatinSmallLetterA && code <= LatinSmallLetterZ) ) } export function isDecimalDigit(code: number): boolean { return code >= DigitZero && code <= DigitNine } export function isOctalDigit(code: number): boolean { return code >= DigitZero && code <= DigitSeven } export function isHexDigit(code: number): boolean { return ( (code >= DigitZero && code <= DigitNine) || (code >= LatinCapitalLetterA && code <= LatinCapitalLetterF) || (code >= LatinSmallLetterA && code <= LatinSmallLetterF) ) } export function isLineTerminator(code: number): boolean { return ( code === LineFeed || code === CarriageReturn || code === LineSeparator || code === ParagraphSeparator ) } export function isValidUnicode(code: number): boolean { return code >= MinCodePoint && code <= MaxCodePoint } export function digitToInt(code: number): number { if (code >= LatinSmallLetterA && code <= LatinSmallLetterF) { return code - LatinSmallLetterA + 10 } if (code >= LatinCapitalLetterA && code <= LatinCapitalLetterF) { return code - LatinCapitalLetterA + 10 } return code - DigitZero } export function isLeadSurrogate(code: number): boolean { return code >= 0xd800 && code <= 0xdbff } export function isTrailSurrogate(code: number): boolean { return code >= 0xdc00 && code <= 0xdfff } export function combineSurrogatePair(lead: number, trail: number): number { return (lead - 0xd800) * 0x400 + (trail - 0xdc00) + 0x10000 } regexpp-3.2.0/src/unicode/properties.ts000066400000000000000000000144001406163405500201520ustar00rootroot00000000000000/* This file was generated with ECMAScript specifications. */ class DataSet { private _raw2018: string private _set2018: Set | undefined private _raw2019: string private _set2019: Set | undefined private _raw2020: string private _set2020: Set | undefined private _raw2021: string private _set2021: Set | undefined public constructor( raw2018: string, raw2019: string, raw2020: string, raw2021: string, ) { this._raw2018 = raw2018 this._raw2019 = raw2019 this._raw2020 = raw2020 this._raw2021 = raw2021 } public get es2018(): Set { return ( this._set2018 || (this._set2018 = new Set(this._raw2018.split(" "))) ) } public get es2019(): Set { return ( this._set2019 || (this._set2019 = new Set(this._raw2019.split(" "))) ) } public get es2020(): Set { return ( this._set2020 || (this._set2020 = new Set(this._raw2020.split(" "))) ) } public get es2021(): Set { return ( this._set2021 || (this._set2021 = new Set(this._raw2021.split(" "))) ) } } const gcNameSet = new Set(["General_Category", "gc"]) const scNameSet = new Set(["Script", "Script_Extensions", "sc", "scx"]) const gcValueSets = new DataSet( "C Cased_Letter Cc Cf Close_Punctuation Cn Co Combining_Mark Connector_Punctuation Control Cs Currency_Symbol Dash_Punctuation Decimal_Number Enclosing_Mark Final_Punctuation Format Initial_Punctuation L LC Letter Letter_Number Line_Separator Ll Lm Lo Lowercase_Letter Lt Lu M Mark Math_Symbol Mc Me Mn Modifier_Letter Modifier_Symbol N Nd Nl No Nonspacing_Mark Number Open_Punctuation Other Other_Letter Other_Number Other_Punctuation Other_Symbol P Paragraph_Separator Pc Pd Pe Pf Pi Po Private_Use Ps Punctuation S Sc Separator Sk Sm So Space_Separator Spacing_Mark Surrogate Symbol Titlecase_Letter Unassigned Uppercase_Letter Z Zl Zp Zs cntrl digit punct", "", "", "", ) const scValueSets = new DataSet( "Adlam Adlm Aghb Ahom Anatolian_Hieroglyphs Arab Arabic Armenian Armi Armn Avestan Avst Bali Balinese Bamu Bamum Bass Bassa_Vah Batak Batk Beng Bengali Bhaiksuki Bhks Bopo Bopomofo Brah Brahmi Brai Braille Bugi Buginese Buhd Buhid Cakm Canadian_Aboriginal Cans Cari Carian Caucasian_Albanian Chakma Cham Cher Cherokee Common Copt Coptic Cprt Cuneiform Cypriot Cyrillic Cyrl Deseret Deva Devanagari Dsrt Dupl Duployan Egyp Egyptian_Hieroglyphs Elba Elbasan Ethi Ethiopic Geor Georgian Glag Glagolitic Gonm Goth Gothic Gran Grantha Greek Grek Gujarati Gujr Gurmukhi Guru Han Hang Hangul Hani Hano Hanunoo Hatr Hatran Hebr Hebrew Hira Hiragana Hluw Hmng Hung Imperial_Aramaic Inherited Inscriptional_Pahlavi Inscriptional_Parthian Ital Java Javanese Kaithi Kali Kana Kannada Katakana Kayah_Li Khar Kharoshthi Khmer Khmr Khoj Khojki Khudawadi Knda Kthi Lana Lao Laoo Latin Latn Lepc Lepcha Limb Limbu Lina Linb Linear_A Linear_B Lisu Lyci Lycian Lydi Lydian Mahajani Mahj Malayalam Mand Mandaic Mani Manichaean Marc Marchen Masaram_Gondi Meetei_Mayek Mend Mende_Kikakui Merc Mero Meroitic_Cursive Meroitic_Hieroglyphs Miao Mlym Modi Mong Mongolian Mro Mroo Mtei Mult Multani Myanmar Mymr Nabataean Narb Nbat New_Tai_Lue Newa Nko Nkoo Nshu Nushu Ogam Ogham Ol_Chiki Olck Old_Hungarian Old_Italic Old_North_Arabian Old_Permic Old_Persian Old_South_Arabian Old_Turkic Oriya Orkh Orya Osage Osge Osma Osmanya Pahawh_Hmong Palm Palmyrene Pau_Cin_Hau Pauc Perm Phag Phags_Pa Phli Phlp Phnx Phoenician Plrd Prti Psalter_Pahlavi Qaac Qaai Rejang Rjng Runic Runr Samaritan Samr Sarb Saur Saurashtra Sgnw Sharada Shavian Shaw Shrd Sidd Siddham SignWriting Sind Sinh Sinhala Sora Sora_Sompeng Soyo Soyombo Sund Sundanese Sylo Syloti_Nagri Syrc Syriac Tagalog Tagb Tagbanwa Tai_Le Tai_Tham Tai_Viet Takr Takri Tale Talu Tamil Taml Tang Tangut Tavt Telu Telugu Tfng Tglg Thaa Thaana Thai Tibetan Tibt Tifinagh Tirh Tirhuta Ugar Ugaritic Vai Vaii Wara Warang_Citi Xpeo Xsux Yi Yiii Zanabazar_Square Zanb Zinh Zyyy", "Dogr Dogra Gong Gunjala_Gondi Hanifi_Rohingya Maka Makasar Medefaidrin Medf Old_Sogdian Rohg Sogd Sogdian Sogo", "Elym Elymaic Hmnp Nand Nandinagari Nyiakeng_Puachue_Hmong Wancho Wcho", "Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi", ) const binPropertySets = new DataSet( "AHex ASCII ASCII_Hex_Digit Alpha Alphabetic Any Assigned Bidi_C Bidi_Control Bidi_M Bidi_Mirrored CI CWCF CWCM CWKCF CWL CWT CWU Case_Ignorable Cased Changes_When_Casefolded Changes_When_Casemapped Changes_When_Lowercased Changes_When_NFKC_Casefolded Changes_When_Titlecased Changes_When_Uppercased DI Dash Default_Ignorable_Code_Point Dep Deprecated Dia Diacritic Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Ext Extender Gr_Base Gr_Ext Grapheme_Base Grapheme_Extend Hex Hex_Digit IDC IDS IDSB IDST IDS_Binary_Operator IDS_Trinary_Operator ID_Continue ID_Start Ideo Ideographic Join_C Join_Control LOE Logical_Order_Exception Lower Lowercase Math NChar Noncharacter_Code_Point Pat_Syn Pat_WS Pattern_Syntax Pattern_White_Space QMark Quotation_Mark RI Radical Regional_Indicator SD STerm Sentence_Terminal Soft_Dotted Term Terminal_Punctuation UIdeo Unified_Ideograph Upper Uppercase VS Variation_Selector White_Space XIDC XIDS XID_Continue XID_Start space", "Extended_Pictographic", "", "EBase EComp EMod EPres ExtPict", ) export function isValidUnicodeProperty( version: number, name: string, value: string, ): boolean { if (gcNameSet.has(name)) { return version >= 2018 && gcValueSets.es2018.has(value) } if (scNameSet.has(name)) { return ( (version >= 2018 && scValueSets.es2018.has(value)) || (version >= 2019 && scValueSets.es2019.has(value)) || (version >= 2020 && scValueSets.es2020.has(value)) || (version >= 2021 && scValueSets.es2021.has(value)) ) } return false } export function isValidLoneUnicodeProperty( version: number, value: string, ): boolean { return ( (version >= 2018 && binPropertySets.es2018.has(value)) || (version >= 2019 && binPropertySets.es2019.has(value)) || (version >= 2021 && binPropertySets.es2021.has(value)) ) } regexpp-3.2.0/src/validator.ts000066400000000000000000002302471406163405500163260ustar00rootroot00000000000000import { EcmaVersion } from "./ecma-versions" import { Reader } from "./reader" import { RegExpSyntaxError } from "./regexp-syntax-error" import { Asterisk, Backspace, CarriageReturn, CharacterTabulation, CircumflexAccent, Colon, Comma, DigitNine, DigitOne, digitToInt, DigitZero, DollarSign, EqualsSign, ExclamationMark, FormFeed, FullStop, GreaterThanSign, HyphenMinus, LatinCapitalLetterB, LatinCapitalLetterD, LatinCapitalLetterP, LatinCapitalLetterS, LatinCapitalLetterW, LatinSmallLetterB, LatinSmallLetterC, LatinSmallLetterD, LatinSmallLetterF, LatinSmallLetterG, LatinSmallLetterI, LatinSmallLetterK, LatinSmallLetterM, LatinSmallLetterN, LatinSmallLetterP, LatinSmallLetterR, LatinSmallLetterS, LatinSmallLetterT, LatinSmallLetterU, LatinSmallLetterV, LatinSmallLetterW, LatinSmallLetterX, LatinSmallLetterY, LeftCurlyBracket, LeftParenthesis, LeftSquareBracket, LessThanSign, LineFeed, LineTabulation, LowLine, PlusSign, QuestionMark, ReverseSolidus, RightCurlyBracket, RightParenthesis, RightSquareBracket, Solidus, VerticalLine, ZeroWidthJoiner, ZeroWidthNonJoiner, combineSurrogatePair, isDecimalDigit, isHexDigit, isIdContinue, isIdStart, isLatinLetter, isLeadSurrogate, isLineTerminator, isOctalDigit, isTrailSurrogate, isValidLoneUnicodeProperty, isValidUnicodeProperty, isValidUnicode, } from "./unicode" function isSyntaxCharacter(cp: number): boolean { return ( cp === CircumflexAccent || cp === DollarSign || cp === ReverseSolidus || cp === FullStop || cp === Asterisk || cp === PlusSign || cp === QuestionMark || cp === LeftParenthesis || cp === RightParenthesis || cp === LeftSquareBracket || cp === RightSquareBracket || cp === LeftCurlyBracket || cp === RightCurlyBracket || cp === VerticalLine ) } function isRegExpIdentifierStart(cp: number): boolean { return isIdStart(cp) || cp === DollarSign || cp === LowLine } function isRegExpIdentifierPart(cp: number): boolean { return ( isIdContinue(cp) || cp === DollarSign || cp === LowLine || cp === ZeroWidthNonJoiner || cp === ZeroWidthJoiner ) } function isUnicodePropertyNameCharacter(cp: number): boolean { return isLatinLetter(cp) || cp === LowLine } function isUnicodePropertyValueCharacter(cp: number): boolean { return isUnicodePropertyNameCharacter(cp) || isDecimalDigit(cp) } export namespace RegExpValidator { /** * The options for RegExpValidator construction. */ export interface Options { /** * The flag to disable Annex B syntax. Default is `false`. */ strict?: boolean /** * ECMAScript version. Default is `2022`. * - `2015` added `u` and `y` flags. * - `2018` added `s` flag, Named Capturing Group, Lookbehind Assertion, * and Unicode Property Escape. * - `2019`, `2020`, and `2021` added more valid Unicode Property Escapes. * - `2022` added `d` flag. */ ecmaVersion?: EcmaVersion /** * A function that is called when the validator entered a RegExp literal. * @param start The 0-based index of the first character. */ onLiteralEnter?(start: number): void /** * A function that is called when the validator left a RegExp literal. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. */ onLiteralLeave?(start: number, end: number): void /** * A function that is called when the validator found flags. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param global `g` flag. * @param ignoreCase `i` flag. * @param multiline `m` flag. * @param unicode `u` flag. * @param sticky `y` flag. * @param dotAll `s` flag. * @param hasIndices `d` flag. */ onFlags?( start: number, end: number, global: boolean, ignoreCase: boolean, multiline: boolean, unicode: boolean, sticky: boolean, dotAll: boolean, hasIndices: boolean, ): void /** * A function that is called when the validator entered a pattern. * @param start The 0-based index of the first character. */ onPatternEnter?(start: number): void /** * A function that is called when the validator left a pattern. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. */ onPatternLeave?(start: number, end: number): void /** * A function that is called when the validator entered a disjunction. * @param start The 0-based index of the first character. */ onDisjunctionEnter?(start: number): void /** * A function that is called when the validator left a disjunction. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. */ onDisjunctionLeave?(start: number, end: number): void /** * A function that is called when the validator entered an alternative. * @param start The 0-based index of the first character. * @param index The 0-based index of alternatives in a disjunction. */ onAlternativeEnter?(start: number, index: number): void /** * A function that is called when the validator left an alternative. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param index The 0-based index of alternatives in a disjunction. */ onAlternativeLeave?(start: number, end: number, index: number): void /** * A function that is called when the validator entered an uncapturing group. * @param start The 0-based index of the first character. */ onGroupEnter?(start: number): void /** * A function that is called when the validator left an uncapturing group. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. */ onGroupLeave?(start: number, end: number): void /** * A function that is called when the validator entered a capturing group. * @param start The 0-based index of the first character. * @param name The group name. */ onCapturingGroupEnter?(start: number, name: string | null): void /** * A function that is called when the validator left a capturing group. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param name The group name. */ onCapturingGroupLeave?( start: number, end: number, name: string | null, ): void /** * A function that is called when the validator found a quantifier. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param min The minimum number of repeating. * @param max The maximum number of repeating. * @param greedy The flag to choose the longest matching. */ onQuantifier?( start: number, end: number, min: number, max: number, greedy: boolean, ): void /** * A function that is called when the validator entered a lookahead/lookbehind assertion. * @param start The 0-based index of the first character. * @param kind The kind of the assertion. * @param negate The flag which represents that the assertion is negative. */ onLookaroundAssertionEnter?( start: number, kind: "lookahead" | "lookbehind", negate: boolean, ): void /** * A function that is called when the validator left a lookahead/lookbehind assertion. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param kind The kind of the assertion. * @param negate The flag which represents that the assertion is negative. */ onLookaroundAssertionLeave?( start: number, end: number, kind: "lookahead" | "lookbehind", negate: boolean, ): void /** * A function that is called when the validator found an edge boundary assertion. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param kind The kind of the assertion. */ onEdgeAssertion?( start: number, end: number, kind: "start" | "end", ): void /** * A function that is called when the validator found a word boundary assertion. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param kind The kind of the assertion. * @param negate The flag which represents that the assertion is negative. */ onWordBoundaryAssertion?( start: number, end: number, kind: "word", negate: boolean, ): void /** * A function that is called when the validator found a dot. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param kind The kind of the character set. */ onAnyCharacterSet?(start: number, end: number, kind: "any"): void /** * A function that is called when the validator found a character set escape. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param kind The kind of the character set. * @param negate The flag which represents that the character set is negative. */ onEscapeCharacterSet?( start: number, end: number, kind: "digit" | "space" | "word", negate: boolean, ): void /** * A function that is called when the validator found a Unicode proerty escape. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param kind The kind of the character set. * @param key The property name. * @param value The property value. * @param negate The flag which represents that the character set is negative. */ onUnicodePropertyCharacterSet?( start: number, end: number, kind: "property", key: string, value: string | null, negate: boolean, ): void /** * A function that is called when the validator found a character. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param value The code point of the character. */ onCharacter?(start: number, end: number, value: number): void /** * A function that is called when the validator found a backreference. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param ref The key of the referred capturing group. */ onBackreference?(start: number, end: number, ref: number | string): void /** * A function that is called when the validator entered a character class. * @param start The 0-based index of the first character. * @param negate The flag which represents that the character class is negative. */ onCharacterClassEnter?(start: number, negate: boolean): void /** * A function that is called when the validator left a character class. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param negate The flag which represents that the character class is negative. */ onCharacterClassLeave?( start: number, end: number, negate: boolean, ): void /** * A function that is called when the validator found a character class range. * @param start The 0-based index of the first character. * @param end The next 0-based index of the last character. * @param min The minimum code point of the range. * @param max The maximum code point of the range. */ onCharacterClassRange?( start: number, end: number, min: number, max: number, ): void } } /** * The regular expression validator. */ export class RegExpValidator { private readonly _options: RegExpValidator.Options private readonly _reader = new Reader() private _uFlag = false private _nFlag = false private _lastIntValue = 0 private _lastMinValue = 0 private _lastMaxValue = 0 private _lastStrValue = "" private _lastKeyValue = "" private _lastValValue = "" private _lastAssertionIsQuantifiable = false private _numCapturingParens = 0 private _groupNames = new Set() private _backreferenceNames = new Set() /** * Initialize this validator. * @param options The options of validator. */ public constructor(options?: RegExpValidator.Options) { this._options = options || {} } /** * Validate a regular expression literal. E.g. "/abc/g" * @param source The source code to validate. * @param start The start index in the source code. * @param end The end index in the source code. */ public validateLiteral( source: string, start = 0, end: number = source.length, ): void { this._uFlag = this._nFlag = false this.reset(source, start, end) this.onLiteralEnter(start) if (this.eat(Solidus) && this.eatRegExpBody() && this.eat(Solidus)) { const flagStart = this.index const uFlag = source.includes("u", flagStart) this.validateFlags(source, flagStart, end) this.validatePattern(source, start + 1, flagStart - 1, uFlag) } else if (start >= end) { this.raise("Empty") } else { const c = String.fromCodePoint(this.currentCodePoint) this.raise(`Unexpected character '${c}'`) } this.onLiteralLeave(start, end) } /** * Validate a regular expression flags. E.g. "gim" * @param source The source code to validate. * @param start The start index in the source code. * @param end The end index in the source code. */ public validateFlags( source: string, start = 0, end: number = source.length, ): void { const existingFlags = new Set() let global = false let ignoreCase = false let multiline = false let sticky = false let unicode = false let dotAll = false let hasIndices = false for (let i = start; i < end; ++i) { const flag = source.charCodeAt(i) if (existingFlags.has(flag)) { this.raise(`Duplicated flag '${source[i]}'`) } existingFlags.add(flag) if (flag === LatinSmallLetterG) { global = true } else if (flag === LatinSmallLetterI) { ignoreCase = true } else if (flag === LatinSmallLetterM) { multiline = true } else if (flag === LatinSmallLetterU && this.ecmaVersion >= 2015) { unicode = true } else if (flag === LatinSmallLetterY && this.ecmaVersion >= 2015) { sticky = true } else if (flag === LatinSmallLetterS && this.ecmaVersion >= 2018) { dotAll = true } else if (flag === LatinSmallLetterD && this.ecmaVersion >= 2022) { hasIndices = true } else { this.raise(`Invalid flag '${source[i]}'`) } } this.onFlags( start, end, global, ignoreCase, multiline, unicode, sticky, dotAll, hasIndices, ) } /** * Validate a regular expression pattern. E.g. "abc" * @param source The source code to validate. * @param start The start index in the source code. * @param end The end index in the source code. * @param uFlag The flag to set unicode mode. */ public validatePattern( source: string, start = 0, end: number = source.length, uFlag = false, ): void { this._uFlag = uFlag && this.ecmaVersion >= 2015 this._nFlag = uFlag && this.ecmaVersion >= 2018 this.reset(source, start, end) this.consumePattern() if ( !this._nFlag && this.ecmaVersion >= 2018 && this._groupNames.size > 0 ) { this._nFlag = true this.rewind(start) this.consumePattern() } } // #region Delegate for Options private get strict() { return Boolean(this._options.strict || this._uFlag) } private get ecmaVersion() { return this._options.ecmaVersion || 2022 } private onLiteralEnter(start: number): void { if (this._options.onLiteralEnter) { this._options.onLiteralEnter(start) } } private onLiteralLeave(start: number, end: number): void { if (this._options.onLiteralLeave) { this._options.onLiteralLeave(start, end) } } private onFlags( start: number, end: number, global: boolean, ignoreCase: boolean, multiline: boolean, unicode: boolean, sticky: boolean, dotAll: boolean, hasIndices: boolean, ): void { if (this._options.onFlags) { this._options.onFlags( start, end, global, ignoreCase, multiline, unicode, sticky, dotAll, hasIndices, ) } } private onPatternEnter(start: number): void { if (this._options.onPatternEnter) { this._options.onPatternEnter(start) } } private onPatternLeave(start: number, end: number): void { if (this._options.onPatternLeave) { this._options.onPatternLeave(start, end) } } private onDisjunctionEnter(start: number): void { if (this._options.onDisjunctionEnter) { this._options.onDisjunctionEnter(start) } } private onDisjunctionLeave(start: number, end: number): void { if (this._options.onDisjunctionLeave) { this._options.onDisjunctionLeave(start, end) } } private onAlternativeEnter(start: number, index: number): void { if (this._options.onAlternativeEnter) { this._options.onAlternativeEnter(start, index) } } private onAlternativeLeave( start: number, end: number, index: number, ): void { if (this._options.onAlternativeLeave) { this._options.onAlternativeLeave(start, end, index) } } private onGroupEnter(start: number): void { if (this._options.onGroupEnter) { this._options.onGroupEnter(start) } } private onGroupLeave(start: number, end: number): void { if (this._options.onGroupLeave) { this._options.onGroupLeave(start, end) } } private onCapturingGroupEnter(start: number, name: string | null): void { if (this._options.onCapturingGroupEnter) { this._options.onCapturingGroupEnter(start, name) } } private onCapturingGroupLeave( start: number, end: number, name: string | null, ): void { if (this._options.onCapturingGroupLeave) { this._options.onCapturingGroupLeave(start, end, name) } } private onQuantifier( start: number, end: number, min: number, max: number, greedy: boolean, ): void { if (this._options.onQuantifier) { this._options.onQuantifier(start, end, min, max, greedy) } } private onLookaroundAssertionEnter( start: number, kind: "lookahead" | "lookbehind", negate: boolean, ): void { if (this._options.onLookaroundAssertionEnter) { this._options.onLookaroundAssertionEnter(start, kind, negate) } } private onLookaroundAssertionLeave( start: number, end: number, kind: "lookahead" | "lookbehind", negate: boolean, ): void { if (this._options.onLookaroundAssertionLeave) { this._options.onLookaroundAssertionLeave(start, end, kind, negate) } } private onEdgeAssertion( start: number, end: number, kind: "start" | "end", ): void { if (this._options.onEdgeAssertion) { this._options.onEdgeAssertion(start, end, kind) } } private onWordBoundaryAssertion( start: number, end: number, kind: "word", negate: boolean, ): void { if (this._options.onWordBoundaryAssertion) { this._options.onWordBoundaryAssertion(start, end, kind, negate) } } private onAnyCharacterSet(start: number, end: number, kind: "any"): void { if (this._options.onAnyCharacterSet) { this._options.onAnyCharacterSet(start, end, kind) } } private onEscapeCharacterSet( start: number, end: number, kind: "digit" | "space" | "word", negate: boolean, ): void { if (this._options.onEscapeCharacterSet) { this._options.onEscapeCharacterSet(start, end, kind, negate) } } private onUnicodePropertyCharacterSet( start: number, end: number, kind: "property", key: string, value: string | null, negate: boolean, ): void { if (this._options.onUnicodePropertyCharacterSet) { this._options.onUnicodePropertyCharacterSet( start, end, kind, key, value, negate, ) } } private onCharacter(start: number, end: number, value: number): void { if (this._options.onCharacter) { this._options.onCharacter(start, end, value) } } private onBackreference( start: number, end: number, ref: number | string, ): void { if (this._options.onBackreference) { this._options.onBackreference(start, end, ref) } } private onCharacterClassEnter(start: number, negate: boolean): void { if (this._options.onCharacterClassEnter) { this._options.onCharacterClassEnter(start, negate) } } private onCharacterClassLeave( start: number, end: number, negate: boolean, ): void { if (this._options.onCharacterClassLeave) { this._options.onCharacterClassLeave(start, end, negate) } } private onCharacterClassRange( start: number, end: number, min: number, max: number, ): void { if (this._options.onCharacterClassRange) { this._options.onCharacterClassRange(start, end, min, max) } } // #endregion // #region Delegate for Reader private get source(): string { return this._reader.source } private get index(): number { return this._reader.index } private get currentCodePoint(): number { return this._reader.currentCodePoint } private get nextCodePoint(): number { return this._reader.nextCodePoint } private get nextCodePoint2(): number { return this._reader.nextCodePoint2 } private get nextCodePoint3(): number { return this._reader.nextCodePoint3 } private reset(source: string, start: number, end: number): void { this._reader.reset(source, start, end, this._uFlag) } private rewind(index: number): void { this._reader.rewind(index) } private advance(): void { this._reader.advance() } private eat(cp: number): boolean { return this._reader.eat(cp) } private eat2(cp1: number, cp2: number): boolean { return this._reader.eat2(cp1, cp2) } private eat3(cp1: number, cp2: number, cp3: number): boolean { return this._reader.eat3(cp1, cp2, cp3) } // #endregion private raise(message: string): never { throw new RegExpSyntaxError( this.source, this._uFlag, this.index, message, ) } // https://www.ecma-international.org/ecma-262/8.0/#prod-RegularExpressionBody private eatRegExpBody(): boolean { const start = this.index let inClass = false let escaped = false for (;;) { const cp = this.currentCodePoint if (cp === -1 || isLineTerminator(cp)) { const kind = inClass ? "character class" : "regular expression" this.raise(`Unterminated ${kind}`) } if (escaped) { escaped = false } else if (cp === ReverseSolidus) { escaped = true } else if (cp === LeftSquareBracket) { inClass = true } else if (cp === RightSquareBracket) { inClass = false } else if ( (cp === Solidus && !inClass) || (cp === Asterisk && this.index === start) ) { break } this.advance() } return this.index !== start } /** * Validate the next characters as a RegExp `Pattern` production. * ``` * Pattern[U, N]:: * Disjunction[?U, ?N] * ``` */ private consumePattern(): void { const start = this.index this._numCapturingParens = this.countCapturingParens() this._groupNames.clear() this._backreferenceNames.clear() this.onPatternEnter(start) this.consumeDisjunction() const cp = this.currentCodePoint if (this.currentCodePoint !== -1) { if (cp === RightParenthesis) { this.raise("Unmatched ')'") } if (cp === ReverseSolidus) { this.raise("\\ at end of pattern") } if (cp === RightSquareBracket || cp === RightCurlyBracket) { this.raise("Lone quantifier brackets") } const c = String.fromCodePoint(cp) this.raise(`Unexpected character '${c}'`) } for (const name of this._backreferenceNames) { if (!this._groupNames.has(name)) { this.raise("Invalid named capture referenced") } } this.onPatternLeave(start, this.index) } /** * Count capturing groups in the current source code. * @returns The number of capturing groups. */ private countCapturingParens(): number { const start = this.index let inClass = false let escaped = false let count = 0 let cp = 0 while ((cp = this.currentCodePoint) !== -1) { if (escaped) { escaped = false } else if (cp === ReverseSolidus) { escaped = true } else if (cp === LeftSquareBracket) { inClass = true } else if (cp === RightSquareBracket) { inClass = false } else if ( cp === LeftParenthesis && !inClass && (this.nextCodePoint !== QuestionMark || (this.nextCodePoint2 === LessThanSign && this.nextCodePoint3 !== EqualsSign && this.nextCodePoint3 !== ExclamationMark)) ) { count += 1 } this.advance() } this.rewind(start) return count } /** * Validate the next characters as a RegExp `Disjunction` production. * ``` * Disjunction[U, N]:: * Alternative[?U, ?N] * Alternative[?U, ?N] `|` Disjunction[?U, ?N] * ``` */ private consumeDisjunction(): void { const start = this.index let i = 0 this.onDisjunctionEnter(start) do { this.consumeAlternative(i++) } while (this.eat(VerticalLine)) if (this.consumeQuantifier(true)) { this.raise("Nothing to repeat") } if (this.eat(LeftCurlyBracket)) { this.raise("Lone quantifier brackets") } this.onDisjunctionLeave(start, this.index) } /** * Validate the next characters as a RegExp `Alternative` production. * ``` * Alternative[U, N]:: * ε * Alternative[?U, ?N] Term[?U, ?N] * ``` */ private consumeAlternative(i: number): void { const start = this.index this.onAlternativeEnter(start, i) while (this.currentCodePoint !== -1 && this.consumeTerm()) { // do nothing. } this.onAlternativeLeave(start, this.index, i) } /** * Validate the next characters as a RegExp `Term` production if possible. * ``` * Term[U, N]:: * [strict] Assertion[+U, ?N] * [strict] Atom[+U, ?N] * [strict] Atom[+U, ?N] Quantifier * [annexB][+U] Assertion[+U, ?N] * [annexB][+U] Atom[+U, ?N] * [annexB][+U] Atom[+U, ?N] Quantifier * [annexB][~U] QuantifiableAssertion[?N] Quantifier * [annexB][~U] Assertion[~U, ?N] * [annexB][~U] ExtendedAtom[?N] Quantifier * [annexB][~U] ExtendedAtom[?N] * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeTerm(): boolean { if (this._uFlag || this.strict) { return ( this.consumeAssertion() || (this.consumeAtom() && this.consumeOptionalQuantifier()) ) } return ( (this.consumeAssertion() && (!this._lastAssertionIsQuantifiable || this.consumeOptionalQuantifier())) || (this.consumeExtendedAtom() && this.consumeOptionalQuantifier()) ) } private consumeOptionalQuantifier(): boolean { this.consumeQuantifier() return true } /** * Validate the next characters as a RegExp `Term` production if possible. * Set `this._lastAssertionIsQuantifiable` if the consumed assertion was a * `QuantifiableAssertion` production. * ``` * Assertion[U, N]:: * `^` * `$` * `\b` * `\B` * [strict] `(?=` Disjunction[+U, ?N] `)` * [strict] `(?!` Disjunction[+U, ?N] `)` * [annexB][+U] `(?=` Disjunction[+U, ?N] `)` * [annexB][+U] `(?!` Disjunction[+U, ?N] `)` * [annexB][~U] QuantifiableAssertion[?N] * `(?<=` Disjunction[?U, ?N] `)` * `(?= 2018 && this.eat(LessThanSign) let negate = false if (this.eat(EqualsSign) || (negate = this.eat(ExclamationMark))) { const kind = lookbehind ? "lookbehind" : "lookahead" this.onLookaroundAssertionEnter(start, kind, negate) this.consumeDisjunction() if (!this.eat(RightParenthesis)) { this.raise("Unterminated group") } this._lastAssertionIsQuantifiable = !lookbehind && !this.strict this.onLookaroundAssertionLeave(start, this.index, kind, negate) return true } this.rewind(start) } return false } /** * Validate the next characters as a RegExp `Quantifier` production if * possible. * ``` * Quantifier:: * QuantifierPrefix * QuantifierPrefix `?` * QuantifierPrefix:: * `*` * `+` * `?` * `{` DecimalDigits `}` * `{` DecimalDigits `,}` * `{` DecimalDigits `,` DecimalDigits `}` * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeQuantifier(noConsume = false): boolean { const start = this.index let min = 0 let max = 0 let greedy = false // QuantifierPrefix if (this.eat(Asterisk)) { min = 0 max = Number.POSITIVE_INFINITY } else if (this.eat(PlusSign)) { min = 1 max = Number.POSITIVE_INFINITY } else if (this.eat(QuestionMark)) { min = 0 max = 1 } else if (this.eatBracedQuantifier(noConsume)) { min = this._lastMinValue max = this._lastMaxValue } else { return false } // `?` greedy = !this.eat(QuestionMark) if (!noConsume) { this.onQuantifier(start, this.index, min, max, greedy) } return true } /** * Eat the next characters as the following alternatives if possible. * Set `this._lastMinValue` and `this._lastMaxValue` if it consumed the next * characters successfully. * ``` * `{` DecimalDigits `}` * `{` DecimalDigits `,}` * `{` DecimalDigits `,` DecimalDigits `}` * ``` * @returns `true` if it consumed the next characters successfully. */ private eatBracedQuantifier(noError: boolean): boolean { const start = this.index if (this.eat(LeftCurlyBracket)) { this._lastMinValue = 0 this._lastMaxValue = Number.POSITIVE_INFINITY if (this.eatDecimalDigits()) { this._lastMinValue = this._lastMaxValue = this._lastIntValue if (this.eat(Comma)) { this._lastMaxValue = this.eatDecimalDigits() ? this._lastIntValue : Number.POSITIVE_INFINITY } if (this.eat(RightCurlyBracket)) { if (!noError && this._lastMaxValue < this._lastMinValue) { this.raise("numbers out of order in {} quantifier") } return true } } if (!noError && (this._uFlag || this.strict)) { this.raise("Incomplete quantifier") } this.rewind(start) } return false } /** * Validate the next characters as a RegExp `Atom` production if possible. * ``` * Atom[U, N]:: * PatternCharacter * `.` * `\\` AtomEscape[?U, ?N] * CharacterClass[?U] * `(?:` Disjunction[?U, ?N] ) * `(` GroupSpecifier[?U] Disjunction[?U, ?N] `)` * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeAtom(): boolean { return ( this.consumePatternCharacter() || this.consumeDot() || this.consumeReverseSolidusAtomEscape() || this.consumeCharacterClass() || this.consumeUncapturingGroup() || this.consumeCapturingGroup() ) } /** * Validate the next characters as the following alternatives if possible. * ``` * `.` * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeDot(): boolean { if (this.eat(FullStop)) { this.onAnyCharacterSet(this.index - 1, this.index, "any") return true } return false } /** * Validate the next characters as the following alternatives if possible. * ``` * `\\` AtomEscape[?U, ?N] * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeReverseSolidusAtomEscape(): boolean { const start = this.index if (this.eat(ReverseSolidus)) { if (this.consumeAtomEscape()) { return true } this.rewind(start) } return false } /** * Validate the next characters as the following alternatives if possible. * ``` * `(?:` Disjunction[?U, ?N] ) * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeUncapturingGroup(): boolean { const start = this.index if (this.eat3(LeftParenthesis, QuestionMark, Colon)) { this.onGroupEnter(start) this.consumeDisjunction() if (!this.eat(RightParenthesis)) { this.raise("Unterminated group") } this.onGroupLeave(start, this.index) return true } return false } /** * Validate the next characters as the following alternatives if possible. * ``` * `(` GroupSpecifier[?U] Disjunction[?U, ?N] `)` * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeCapturingGroup(): boolean { const start = this.index if (this.eat(LeftParenthesis)) { let name: string | null = null if (this.ecmaVersion >= 2018) { if (this.consumeGroupSpecifier()) { name = this._lastStrValue } } else if (this.currentCodePoint === QuestionMark) { this.raise("Invalid group") } this.onCapturingGroupEnter(start, name) this.consumeDisjunction() if (!this.eat(RightParenthesis)) { this.raise("Unterminated group") } this.onCapturingGroupLeave(start, this.index, name) return true } return false } /** * Validate the next characters as a RegExp `ExtendedAtom` production if * possible. * ``` * ExtendedAtom[N]:: * `.` * `\` AtomEscape[~U, ?N] * `\` [lookahead = c] * CharacterClass[~U] * `(?:` Disjunction[~U, ?N] `)` * `(` Disjunction[~U, ?N] `)` * InvalidBracedQuantifier * ExtendedPatternCharacter * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeExtendedAtom(): boolean { return ( this.consumeDot() || this.consumeReverseSolidusAtomEscape() || this.consumeReverseSolidusFollowedByC() || this.consumeCharacterClass() || this.consumeUncapturingGroup() || this.consumeCapturingGroup() || this.consumeInvalidBracedQuantifier() || this.consumeExtendedPatternCharacter() ) } /** * Validate the next characters as the following alternatives if possible. * ``` * `\` [lookahead = c] * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeReverseSolidusFollowedByC(): boolean { const start = this.index if ( this.currentCodePoint === ReverseSolidus && this.nextCodePoint === LatinSmallLetterC ) { this._lastIntValue = this.currentCodePoint this.advance() this.onCharacter(start, this.index, ReverseSolidus) return true } return false } /** * Validate the next characters as a RegExp `InvalidBracedQuantifier` * production if possible. * ``` * InvalidBracedQuantifier:: * `{` DecimalDigits `}` * `{` DecimalDigits `,}` * `{` DecimalDigits `,` DecimalDigits `}` * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeInvalidBracedQuantifier(): boolean { if (this.eatBracedQuantifier(/* noError= */ true)) { this.raise("Nothing to repeat") } return false } /** * Validate the next characters as a RegExp `PatternCharacter` production if * possible. * ``` * PatternCharacter:: * SourceCharacter but not SyntaxCharacter * ``` * @returns `true` if it consumed the next characters successfully. */ private consumePatternCharacter(): boolean { const start = this.index const cp = this.currentCodePoint if (cp !== -1 && !isSyntaxCharacter(cp)) { this.advance() this.onCharacter(start, this.index, cp) return true } return false } /** * Validate the next characters as a RegExp `ExtendedPatternCharacter` * production if possible. * ``` * ExtendedPatternCharacter:: * SourceCharacter but not one of ^ $ \ . * + ? ( ) [ | * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeExtendedPatternCharacter(): boolean { const start = this.index const cp = this.currentCodePoint if ( cp !== -1 && cp !== CircumflexAccent && cp !== DollarSign && cp !== ReverseSolidus && cp !== FullStop && cp !== Asterisk && cp !== PlusSign && cp !== QuestionMark && cp !== LeftParenthesis && cp !== RightParenthesis && cp !== LeftSquareBracket && cp !== VerticalLine ) { this.advance() this.onCharacter(start, this.index, cp) return true } return false } /** * Validate the next characters as a RegExp `GroupSpecifier` production. * Set `this._lastStrValue` if the group name existed. * ``` * GroupSpecifier[U]:: * ε * `?` GroupName[?U] * ``` * @returns `true` if the group name existed. */ private consumeGroupSpecifier(): boolean { if (this.eat(QuestionMark)) { if (this.eatGroupName()) { if (!this._groupNames.has(this._lastStrValue)) { this._groupNames.add(this._lastStrValue) return true } this.raise("Duplicate capture group name") } this.raise("Invalid group") } return false } /** * Validate the next characters as a RegExp `AtomEscape` production if * possible. * ``` * AtomEscape[U, N]:: * [strict] DecimalEscape * [annexB][+U] DecimalEscape * [annexB][~U] DecimalEscape but only if the CapturingGroupNumber of DecimalEscape is <= NcapturingParens * CharacterClassEscape[?U] * [strict] CharacterEscape[?U] * [annexB] CharacterEscape[?U, ?N] * [+N] `k` GroupName[?U] * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeAtomEscape(): boolean { if ( this.consumeBackreference() || this.consumeCharacterClassEscape() || this.consumeCharacterEscape() || (this._nFlag && this.consumeKGroupName()) ) { return true } if (this.strict || this._uFlag) { this.raise("Invalid escape") } return false } /** * Validate the next characters as the follwoing alternatives if possible. * ``` * [strict] DecimalEscape * [annexB][+U] DecimalEscape * [annexB][~U] DecimalEscape but only if the CapturingGroupNumber of DecimalEscape is <= NcapturingParens * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeBackreference(): boolean { const start = this.index if (this.eatDecimalEscape()) { const n = this._lastIntValue if (n <= this._numCapturingParens) { this.onBackreference(start - 1, this.index, n) return true } if (this.strict || this._uFlag) { this.raise("Invalid escape") } this.rewind(start) } return false } /** * Validate the next characters as a RegExp `DecimalEscape` production if * possible. * Set `-1` to `this._lastIntValue` as meaning of a character set if it ate * the next characters successfully. * ``` * CharacterClassEscape[U]:: * `d` * `D` * `s` * `S` * `w` * `W` * [+U] `p{` UnicodePropertyValueExpression `}` * [+U] `P{` UnicodePropertyValueExpression `}` * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeCharacterClassEscape(): boolean { const start = this.index if (this.eat(LatinSmallLetterD)) { this._lastIntValue = -1 this.onEscapeCharacterSet(start - 1, this.index, "digit", false) return true } if (this.eat(LatinCapitalLetterD)) { this._lastIntValue = -1 this.onEscapeCharacterSet(start - 1, this.index, "digit", true) return true } if (this.eat(LatinSmallLetterS)) { this._lastIntValue = -1 this.onEscapeCharacterSet(start - 1, this.index, "space", false) return true } if (this.eat(LatinCapitalLetterS)) { this._lastIntValue = -1 this.onEscapeCharacterSet(start - 1, this.index, "space", true) return true } if (this.eat(LatinSmallLetterW)) { this._lastIntValue = -1 this.onEscapeCharacterSet(start - 1, this.index, "word", false) return true } if (this.eat(LatinCapitalLetterW)) { this._lastIntValue = -1 this.onEscapeCharacterSet(start - 1, this.index, "word", true) return true } let negate = false if ( this._uFlag && this.ecmaVersion >= 2018 && (this.eat(LatinSmallLetterP) || (negate = this.eat(LatinCapitalLetterP))) ) { this._lastIntValue = -1 if ( this.eat(LeftCurlyBracket) && this.eatUnicodePropertyValueExpression() && this.eat(RightCurlyBracket) ) { this.onUnicodePropertyCharacterSet( start - 1, this.index, "property", this._lastKeyValue, this._lastValValue || null, negate, ) return true } this.raise("Invalid property name") } return false } /** * Validate the next characters as a RegExp `CharacterEscape` production if * possible. * ``` * CharacterEscape[U, N]:: * ControlEscape * `c` ControlLetter * `0` [lookahead ∉ DecimalDigit] * HexEscapeSequence * RegExpUnicodeEscapeSequence[?U] * [annexB][~U] LegacyOctalEscapeSequence * IdentityEscape[?U, ?N] * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeCharacterEscape(): boolean { const start = this.index if ( this.eatControlEscape() || this.eatCControlLetter() || this.eatZero() || this.eatHexEscapeSequence() || this.eatRegExpUnicodeEscapeSequence() || (!this.strict && !this._uFlag && this.eatLegacyOctalEscapeSequence()) || this.eatIdentityEscape() ) { this.onCharacter(start - 1, this.index, this._lastIntValue) return true } return false } /** * Validate the next characters as the follwoing alternatives if possible. * ``` * `k` GroupName[?U] * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeKGroupName(): boolean { const start = this.index if (this.eat(LatinSmallLetterK)) { if (this.eatGroupName()) { const groupName = this._lastStrValue this._backreferenceNames.add(groupName) this.onBackreference(start - 1, this.index, groupName) return true } this.raise("Invalid named reference") } return false } /** * Validate the next characters as a RegExp `CharacterClass` production if * possible. * ``` * CharacterClass[U]:: * `[` [lookahead ≠ ^] ClassRanges[?U] `]` * `[^` ClassRanges[?U] `]` * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeCharacterClass(): boolean { const start = this.index if (this.eat(LeftSquareBracket)) { const negate = this.eat(CircumflexAccent) this.onCharacterClassEnter(start, negate) this.consumeClassRanges() if (!this.eat(RightSquareBracket)) { this.raise("Unterminated character class") } this.onCharacterClassLeave(start, this.index, negate) return true } return false } /** * Validate the next characters as a RegExp `ClassRanges` production. * ``` * ClassRanges[U]:: * ε * NonemptyClassRanges[?U] * NonemptyClassRanges[U]:: * ClassAtom[?U] * ClassAtom[?U] NonemptyClassRangesNoDash[?U] * ClassAtom[?U] `-` ClassAtom[?U] ClassRanges[?U] * NonemptyClassRangesNoDash[U]:: * ClassAtom[?U] * ClassAtomNoDash[?U] NonemptyClassRangesNoDash[?U] * ClassAtomNoDash[?U] `-` ClassAtom[?U] ClassRanges[?U] * ``` */ private consumeClassRanges(): void { const strict = this.strict || this._uFlag for (;;) { // Consume the first ClassAtom const rangeStart = this.index if (!this.consumeClassAtom()) { break } const min = this._lastIntValue // Consume `-` if (!this.eat(HyphenMinus)) { continue } this.onCharacter(this.index - 1, this.index, HyphenMinus) // Consume the second ClassAtom if (!this.consumeClassAtom()) { break } const max = this._lastIntValue // Validate if (min === -1 || max === -1) { if (strict) { this.raise("Invalid character class") } continue } if (min > max) { this.raise("Range out of order in character class") } this.onCharacterClassRange(rangeStart, this.index, min, max) } } /** * Validate the next characters as a RegExp `ClassAtom` production if * possible. * Set `this._lastIntValue` if it consumed the next characters successfully. * ``` * ClassAtom[U, N]:: * `-` * ClassAtomNoDash[?U, ?N] * ClassAtomNoDash[U, N]:: * SourceCharacter but not one of \ ] - * `\` ClassEscape[?U, ?N] * [annexB] `\` [lookahead = c] * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeClassAtom(): boolean { const start = this.index const cp = this.currentCodePoint if (cp !== -1 && cp !== ReverseSolidus && cp !== RightSquareBracket) { this.advance() this._lastIntValue = cp this.onCharacter(start, this.index, this._lastIntValue) return true } if (this.eat(ReverseSolidus)) { if (this.consumeClassEscape()) { return true } if (!this.strict && this.currentCodePoint === LatinSmallLetterC) { this._lastIntValue = ReverseSolidus this.onCharacter(start, this.index, this._lastIntValue) return true } if (this.strict || this._uFlag) { this.raise("Invalid escape") } this.rewind(start) } return false } /** * Validate the next characters as a RegExp `ClassEscape` production if * possible. * Set `this._lastIntValue` if it consumed the next characters successfully. * ``` * ClassEscape[U, N]:: * `b` * [+U] `-` * [annexB][~U] `c` ClassControlLetter * CharacterClassEscape[?U] * CharacterEscape[?U, ?N] * ClassControlLetter:: * DecimalDigit * `_` * ``` * @returns `true` if it consumed the next characters successfully. */ private consumeClassEscape(): boolean { const start = this.index // `b` if (this.eat(LatinSmallLetterB)) { this._lastIntValue = Backspace this.onCharacter(start - 1, this.index, this._lastIntValue) return true } // [+U] `-` if (this._uFlag && this.eat(HyphenMinus)) { this._lastIntValue = HyphenMinus this.onCharacter(start - 1, this.index, this._lastIntValue) return true } // [annexB][~U] `c` ClassControlLetter let cp = 0 if ( !this.strict && !this._uFlag && this.currentCodePoint === LatinSmallLetterC && (isDecimalDigit((cp = this.nextCodePoint)) || cp === LowLine) ) { this.advance() this.advance() this._lastIntValue = cp % 0x20 this.onCharacter(start - 1, this.index, this._lastIntValue) return true } return ( this.consumeCharacterClassEscape() || this.consumeCharacterEscape() ) } /** * Eat the next characters as a RegExp `GroupName` production if possible. * Set `this._lastStrValue` if the group name existed. * ``` * GroupName[U]:: * `<` RegExpIdentifierName[?U] `>` * ``` * @returns `true` if it ate the next characters successfully. */ private eatGroupName(): boolean { if (this.eat(LessThanSign)) { if (this.eatRegExpIdentifierName() && this.eat(GreaterThanSign)) { return true } this.raise("Invalid capture group name") } return false } /** * Eat the next characters as a RegExp `RegExpIdentifierName` production if * possible. * Set `this._lastStrValue` if the identifier name existed. * ``` * RegExpIdentifierName[U]:: * RegExpIdentifierStart[?U] * RegExpIdentifierName[?U] RegExpIdentifierPart[?U] * ``` * @returns `true` if it ate the next characters successfully. */ private eatRegExpIdentifierName(): boolean { if (this.eatRegExpIdentifierStart()) { this._lastStrValue = String.fromCodePoint(this._lastIntValue) while (this.eatRegExpIdentifierPart()) { this._lastStrValue += String.fromCodePoint(this._lastIntValue) } return true } return false } /** * Eat the next characters as a RegExp `RegExpIdentifierStart` production if * possible. * Set `this._lastIntValue` if the identifier start existed. * ``` * RegExpIdentifierStart[U] :: * UnicodeIDStart * `$` * `_` * `\` RegExpUnicodeEscapeSequence[+U] * [~U] UnicodeLeadSurrogate UnicodeTrailSurrogate * ``` * @returns `true` if it ate the next characters successfully. */ private eatRegExpIdentifierStart(): boolean { const start = this.index const forceUFlag = !this._uFlag && this.ecmaVersion >= 2020 let cp = this.currentCodePoint this.advance() if ( cp === ReverseSolidus && this.eatRegExpUnicodeEscapeSequence(forceUFlag) ) { cp = this._lastIntValue } else if ( forceUFlag && isLeadSurrogate(cp) && isTrailSurrogate(this.currentCodePoint) ) { cp = combineSurrogatePair(cp, this.currentCodePoint) this.advance() } if (isRegExpIdentifierStart(cp)) { this._lastIntValue = cp return true } if (this.index !== start) { this.rewind(start) } return false } /** * Eat the next characters as a RegExp `RegExpIdentifierPart` production if * possible. * Set `this._lastIntValue` if the identifier part existed. * ``` * RegExpIdentifierPart[U] :: * UnicodeIDContinue * `$` * `_` * `\` RegExpUnicodeEscapeSequence[+U] * [~U] UnicodeLeadSurrogate UnicodeTrailSurrogate * * * ``` * @returns `true` if it ate the next characters successfully. */ private eatRegExpIdentifierPart(): boolean { const start = this.index const forceUFlag = !this._uFlag && this.ecmaVersion >= 2020 let cp = this.currentCodePoint this.advance() if ( cp === ReverseSolidus && this.eatRegExpUnicodeEscapeSequence(forceUFlag) ) { cp = this._lastIntValue } else if ( forceUFlag && isLeadSurrogate(cp) && isTrailSurrogate(this.currentCodePoint) ) { cp = combineSurrogatePair(cp, this.currentCodePoint) this.advance() } if (isRegExpIdentifierPart(cp)) { this._lastIntValue = cp return true } if (this.index !== start) { this.rewind(start) } return false } /** * Eat the next characters as the follwoing alternatives if possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * `c` ControlLetter * ``` * @returns `true` if it ate the next characters successfully. */ private eatCControlLetter(): boolean { const start = this.index if (this.eat(LatinSmallLetterC)) { if (this.eatControlLetter()) { return true } this.rewind(start) } return false } /** * Eat the next characters as the follwoing alternatives if possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * `0` [lookahead ∉ DecimalDigit] * ``` * @returns `true` if it ate the next characters successfully. */ private eatZero(): boolean { if ( this.currentCodePoint === DigitZero && !isDecimalDigit(this.nextCodePoint) ) { this._lastIntValue = 0 this.advance() return true } return false } /** * Eat the next characters as a RegExp `ControlEscape` production if * possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * ControlEscape:: one of * f n r t v * ``` * @returns `true` if it ate the next characters successfully. */ private eatControlEscape(): boolean { if (this.eat(LatinSmallLetterF)) { this._lastIntValue = FormFeed return true } if (this.eat(LatinSmallLetterN)) { this._lastIntValue = LineFeed return true } if (this.eat(LatinSmallLetterR)) { this._lastIntValue = CarriageReturn return true } if (this.eat(LatinSmallLetterT)) { this._lastIntValue = CharacterTabulation return true } if (this.eat(LatinSmallLetterV)) { this._lastIntValue = LineTabulation return true } return false } /** * Eat the next characters as a RegExp `ControlLetter` production if * possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * ControlLetter:: one of * a b c d e f g h i j k l m n o p q r s t u v w x y z * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z * ``` * @returns `true` if it ate the next characters successfully. */ private eatControlLetter(): boolean { const cp = this.currentCodePoint if (isLatinLetter(cp)) { this.advance() this._lastIntValue = cp % 0x20 return true } return false } /** * Eat the next characters as a RegExp `RegExpUnicodeEscapeSequence` * production if possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * RegExpUnicodeEscapeSequence[U]:: * [+U] `u` LeadSurrogate `\u` TrailSurrogate * [+U] `u` LeadSurrogate * [+U] `u` TrailSurrogate * [+U] `u` NonSurrogate * [~U] `u` Hex4Digits * [+U] `u{` CodePoint `}` * ``` * @returns `true` if it ate the next characters successfully. */ private eatRegExpUnicodeEscapeSequence(forceUFlag = false): boolean { const start = this.index const uFlag = forceUFlag || this._uFlag if (this.eat(LatinSmallLetterU)) { if ( (uFlag && this.eatRegExpUnicodeSurrogatePairEscape()) || this.eatFixedHexDigits(4) || (uFlag && this.eatRegExpUnicodeCodePointEscape()) ) { return true } if (this.strict || uFlag) { this.raise("Invalid unicode escape") } this.rewind(start) } return false } /** * Eat the next characters as the following alternatives if possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * LeadSurrogate `\u` TrailSurrogate * ``` * @returns `true` if it ate the next characters successfully. */ private eatRegExpUnicodeSurrogatePairEscape(): boolean { const start = this.index if (this.eatFixedHexDigits(4)) { const lead = this._lastIntValue if ( isLeadSurrogate(lead) && this.eat(ReverseSolidus) && this.eat(LatinSmallLetterU) && this.eatFixedHexDigits(4) ) { const trail = this._lastIntValue if (isTrailSurrogate(trail)) { this._lastIntValue = combineSurrogatePair(lead, trail) return true } } this.rewind(start) } return false } /** * Eat the next characters as the following alternatives if possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * `{` CodePoint `}` * ``` * @returns `true` if it ate the next characters successfully. */ private eatRegExpUnicodeCodePointEscape(): boolean { const start = this.index if ( this.eat(LeftCurlyBracket) && this.eatHexDigits() && this.eat(RightCurlyBracket) && isValidUnicode(this._lastIntValue) ) { return true } this.rewind(start) return false } /** * Eat the next characters as a RegExp `IdentityEscape` production if * possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * IdentityEscape[U, N]:: * [+U] SyntaxCharacter * [+U] `/` * [strict][~U] SourceCharacter but not UnicodeIDContinue * [annexB][~U] SourceCharacterIdentityEscape[?N] * SourceCharacterIdentityEscape[N]:: * [~N] SourceCharacter but not c * [+N] SourceCharacter but not one of c k * ``` * @returns `true` if it ate the next characters successfully. */ private eatIdentityEscape(): boolean { const cp = this.currentCodePoint if (this.isValidIdentityEscape(cp)) { this._lastIntValue = cp this.advance() return true } return false } private isValidIdentityEscape(cp: number): boolean { if (cp === -1) { return false } if (this._uFlag) { return isSyntaxCharacter(cp) || cp === Solidus } if (this.strict) { return !isIdContinue(cp) } if (this._nFlag) { return !(cp === LatinSmallLetterC || cp === LatinSmallLetterK) } return cp !== LatinSmallLetterC } /** * Eat the next characters as a RegExp `DecimalEscape` production if * possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * DecimalEscape:: * NonZeroDigit DecimalDigits(opt) [lookahead ∉ DecimalDigit] * ``` * @returns `true` if it ate the next characters successfully. */ private eatDecimalEscape(): boolean { this._lastIntValue = 0 let cp = this.currentCodePoint if (cp >= DigitOne && cp <= DigitNine) { do { this._lastIntValue = 10 * this._lastIntValue + (cp - DigitZero) this.advance() } while ( (cp = this.currentCodePoint) >= DigitZero && cp <= DigitNine ) return true } return false } /** * Eat the next characters as a RegExp `UnicodePropertyValueExpression` * production if possible. * Set `this._lastKeyValue` and `this._lastValValue` if it ate the next * characters successfully. * ``` * UnicodePropertyValueExpression:: * UnicodePropertyName `=` UnicodePropertyValue * LoneUnicodePropertyNameOrValue * ``` * @returns `true` if it ate the next characters successfully. */ private eatUnicodePropertyValueExpression(): boolean { const start = this.index // UnicodePropertyName `=` UnicodePropertyValue if (this.eatUnicodePropertyName() && this.eat(EqualsSign)) { this._lastKeyValue = this._lastStrValue if (this.eatUnicodePropertyValue()) { this._lastValValue = this._lastStrValue if ( isValidUnicodeProperty( this.ecmaVersion, this._lastKeyValue, this._lastValValue, ) ) { return true } this.raise("Invalid property name") } } this.rewind(start) // LoneUnicodePropertyNameOrValue if (this.eatLoneUnicodePropertyNameOrValue()) { const nameOrValue = this._lastStrValue if ( isValidUnicodeProperty( this.ecmaVersion, "General_Category", nameOrValue, ) ) { this._lastKeyValue = "General_Category" this._lastValValue = nameOrValue return true } if (isValidLoneUnicodeProperty(this.ecmaVersion, nameOrValue)) { this._lastKeyValue = nameOrValue this._lastValValue = "" return true } this.raise("Invalid property name") } return false } /** * Eat the next characters as a RegExp `UnicodePropertyName` production if * possible. * Set `this._lastStrValue` if it ate the next characters successfully. * ``` * UnicodePropertyName:: * UnicodePropertyNameCharacters * ``` * @returns `true` if it ate the next characters successfully. */ private eatUnicodePropertyName(): boolean { this._lastStrValue = "" while (isUnicodePropertyNameCharacter(this.currentCodePoint)) { this._lastStrValue += String.fromCodePoint(this.currentCodePoint) this.advance() } return this._lastStrValue !== "" } /** * Eat the next characters as a RegExp `UnicodePropertyValue` production if * possible. * Set `this._lastStrValue` if it ate the next characters successfully. * ``` * UnicodePropertyValue:: * UnicodePropertyValueCharacters * ``` * @returns `true` if it ate the next characters successfully. */ private eatUnicodePropertyValue(): boolean { this._lastStrValue = "" while (isUnicodePropertyValueCharacter(this.currentCodePoint)) { this._lastStrValue += String.fromCodePoint(this.currentCodePoint) this.advance() } return this._lastStrValue !== "" } /** * Eat the next characters as a RegExp `UnicodePropertyValue` production if * possible. * Set `this._lastStrValue` if it ate the next characters successfully. * ``` * LoneUnicodePropertyNameOrValue:: * UnicodePropertyValueCharacters * ``` * @returns `true` if it ate the next characters successfully. */ private eatLoneUnicodePropertyNameOrValue(): boolean { return this.eatUnicodePropertyValue() } /** * Eat the next characters as a `HexEscapeSequence` production if possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * HexEscapeSequence:: * `x` HexDigit HexDigit * HexDigit:: one of * 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F * ``` * @returns `true` if it ate the next characters successfully. */ private eatHexEscapeSequence(): boolean { const start = this.index if (this.eat(LatinSmallLetterX)) { if (this.eatFixedHexDigits(2)) { return true } if (this._uFlag || this.strict) { this.raise("Invalid escape") } this.rewind(start) } return false } /** * Eat the next characters as a `DecimalDigits` production if possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * DecimalDigits:: * DecimalDigit * DecimalDigits DecimalDigit * DecimalDigit:: one of * 0 1 2 3 4 5 6 7 8 9 * ``` * @returns `true` if it ate the next characters successfully. */ private eatDecimalDigits(): boolean { const start = this.index this._lastIntValue = 0 while (isDecimalDigit(this.currentCodePoint)) { this._lastIntValue = 10 * this._lastIntValue + digitToInt(this.currentCodePoint) this.advance() } return this.index !== start } /** * Eat the next characters as a `HexDigits` production if possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * HexDigits:: * HexDigit * HexDigits HexDigit * HexDigit:: one of * 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F * ``` * @returns `true` if it ate the next characters successfully. */ private eatHexDigits(): boolean { const start = this.index this._lastIntValue = 0 while (isHexDigit(this.currentCodePoint)) { this._lastIntValue = 16 * this._lastIntValue + digitToInt(this.currentCodePoint) this.advance() } return this.index !== start } /** * Eat the next characters as a `HexDigits` production if possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * LegacyOctalEscapeSequence:: * OctalDigit [lookahead ∉ OctalDigit] * ZeroToThree OctalDigit [lookahead ∉ OctalDigit] * FourToSeven OctalDigit * ZeroToThree OctalDigit OctalDigit * OctalDigit:: one of * 0 1 2 3 4 5 6 7 * ZeroToThree:: one of * 0 1 2 3 * FourToSeven:: one of * 4 5 6 7 * ``` * @returns `true` if it ate the next characters successfully. */ private eatLegacyOctalEscapeSequence(): boolean { if (this.eatOctalDigit()) { const n1 = this._lastIntValue if (this.eatOctalDigit()) { const n2 = this._lastIntValue if (n1 <= 3 && this.eatOctalDigit()) { this._lastIntValue = n1 * 64 + n2 * 8 + this._lastIntValue } else { this._lastIntValue = n1 * 8 + n2 } } else { this._lastIntValue = n1 } return true } return false } /** * Eat the next characters as a `OctalDigit` production if possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * OctalDigit:: one of * 0 1 2 3 4 5 6 7 * ``` * @returns `true` if it ate the next characters successfully. */ private eatOctalDigit(): boolean { const cp = this.currentCodePoint if (isOctalDigit(cp)) { this.advance() this._lastIntValue = cp - DigitZero return true } this._lastIntValue = 0 return false } /** * Eat the next characters as the given number of `HexDigit` productions if * possible. * Set `this._lastIntValue` if it ate the next characters successfully. * ``` * HexDigit:: one of * 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F * ``` * @returns `true` if it ate the next characters successfully. */ private eatFixedHexDigits(length: number): boolean { const start = this.index this._lastIntValue = 0 for (let i = 0; i < length; ++i) { const cp = this.currentCodePoint if (!isHexDigit(cp)) { this.rewind(start) return false } this._lastIntValue = 16 * this._lastIntValue + digitToInt(cp) this.advance() } return true } } regexpp-3.2.0/src/visitor.ts000066400000000000000000000172271406163405500160410ustar00rootroot00000000000000import { Alternative, Assertion, Backreference, CapturingGroup, Character, CharacterClass, CharacterClassRange, CharacterSet, Flags, Group, Node, Pattern, Quantifier, RegExpLiteral, } from "./ast" /** * The visitor to walk on AST. */ export class RegExpVisitor { private readonly _handlers: RegExpVisitor.Handlers /** * Initialize this visitor. * @param handlers Callbacks for each node. */ public constructor(handlers: RegExpVisitor.Handlers) { this._handlers = handlers } /** * Visit a given node and descendant nodes. * @param node The root node to visit tree. */ public visit(node: Node): void { switch (node.type) { case "Alternative": this.visitAlternative(node) break case "Assertion": this.visitAssertion(node) break case "Backreference": this.visitBackreference(node) break case "CapturingGroup": this.visitCapturingGroup(node) break case "Character": this.visitCharacter(node) break case "CharacterClass": this.visitCharacterClass(node) break case "CharacterClassRange": this.visitCharacterClassRange(node) break case "CharacterSet": this.visitCharacterSet(node) break case "Flags": this.visitFlags(node) break case "Group": this.visitGroup(node) break case "Pattern": this.visitPattern(node) break case "Quantifier": this.visitQuantifier(node) break case "RegExpLiteral": this.visitRegExpLiteral(node) break default: throw new Error(`Unknown type: ${(node as any).type}`) } } private visitAlternative(node: Alternative): void { if (this._handlers.onAlternativeEnter) { this._handlers.onAlternativeEnter(node) } node.elements.forEach(this.visit, this) if (this._handlers.onAlternativeLeave) { this._handlers.onAlternativeLeave(node) } } private visitAssertion(node: Assertion): void { if (this._handlers.onAssertionEnter) { this._handlers.onAssertionEnter(node) } if (node.kind === "lookahead" || node.kind === "lookbehind") { node.alternatives.forEach(this.visit, this) } if (this._handlers.onAssertionLeave) { this._handlers.onAssertionLeave(node) } } private visitBackreference(node: Backreference): void { if (this._handlers.onBackreferenceEnter) { this._handlers.onBackreferenceEnter(node) } if (this._handlers.onBackreferenceLeave) { this._handlers.onBackreferenceLeave(node) } } private visitCapturingGroup(node: CapturingGroup): void { if (this._handlers.onCapturingGroupEnter) { this._handlers.onCapturingGroupEnter(node) } node.alternatives.forEach(this.visit, this) if (this._handlers.onCapturingGroupLeave) { this._handlers.onCapturingGroupLeave(node) } } private visitCharacter(node: Character): void { if (this._handlers.onCharacterEnter) { this._handlers.onCharacterEnter(node) } if (this._handlers.onCharacterLeave) { this._handlers.onCharacterLeave(node) } } private visitCharacterClass(node: CharacterClass): void { if (this._handlers.onCharacterClassEnter) { this._handlers.onCharacterClassEnter(node) } node.elements.forEach(this.visit, this) if (this._handlers.onCharacterClassLeave) { this._handlers.onCharacterClassLeave(node) } } private visitCharacterClassRange(node: CharacterClassRange): void { if (this._handlers.onCharacterClassRangeEnter) { this._handlers.onCharacterClassRangeEnter(node) } this.visitCharacter(node.min) this.visitCharacter(node.max) if (this._handlers.onCharacterClassRangeLeave) { this._handlers.onCharacterClassRangeLeave(node) } } private visitCharacterSet(node: CharacterSet): void { if (this._handlers.onCharacterSetEnter) { this._handlers.onCharacterSetEnter(node) } if (this._handlers.onCharacterSetLeave) { this._handlers.onCharacterSetLeave(node) } } private visitFlags(node: Flags): void { if (this._handlers.onFlagsEnter) { this._handlers.onFlagsEnter(node) } if (this._handlers.onFlagsLeave) { this._handlers.onFlagsLeave(node) } } private visitGroup(node: Group): void { if (this._handlers.onGroupEnter) { this._handlers.onGroupEnter(node) } node.alternatives.forEach(this.visit, this) if (this._handlers.onGroupLeave) { this._handlers.onGroupLeave(node) } } private visitPattern(node: Pattern): void { if (this._handlers.onPatternEnter) { this._handlers.onPatternEnter(node) } node.alternatives.forEach(this.visit, this) if (this._handlers.onPatternLeave) { this._handlers.onPatternLeave(node) } } private visitQuantifier(node: Quantifier): void { if (this._handlers.onQuantifierEnter) { this._handlers.onQuantifierEnter(node) } this.visit(node.element) if (this._handlers.onQuantifierLeave) { this._handlers.onQuantifierLeave(node) } } private visitRegExpLiteral(node: RegExpLiteral): void { if (this._handlers.onRegExpLiteralEnter) { this._handlers.onRegExpLiteralEnter(node) } this.visitPattern(node.pattern) this.visitFlags(node.flags) if (this._handlers.onRegExpLiteralLeave) { this._handlers.onRegExpLiteralLeave(node) } } } export namespace RegExpVisitor { export interface Handlers { onAlternativeEnter?(node: Alternative): void onAlternativeLeave?(node: Alternative): void onAssertionEnter?(node: Assertion): void onAssertionLeave?(node: Assertion): void onBackreferenceEnter?(node: Backreference): void onBackreferenceLeave?(node: Backreference): void onCapturingGroupEnter?(node: CapturingGroup): void onCapturingGroupLeave?(node: CapturingGroup): void onCharacterEnter?(node: Character): void onCharacterLeave?(node: Character): void onCharacterClassEnter?(node: CharacterClass): void onCharacterClassLeave?(node: CharacterClass): void onCharacterClassRangeEnter?(node: CharacterClassRange): void onCharacterClassRangeLeave?(node: CharacterClassRange): void onCharacterSetEnter?(node: CharacterSet): void onCharacterSetLeave?(node: CharacterSet): void onFlagsEnter?(node: Flags): void onFlagsLeave?(node: Flags): void onGroupEnter?(node: Group): void onGroupLeave?(node: Group): void onPatternEnter?(node: Pattern): void onPatternLeave?(node: Pattern): void onQuantifierEnter?(node: Quantifier): void onQuantifierLeave?(node: Quantifier): void onRegExpLiteralEnter?(node: RegExpLiteral): void onRegExpLiteralLeave?(node: RegExpLiteral): void } } regexpp-3.2.0/test/000077500000000000000000000000001406163405500141515ustar00rootroot00000000000000regexpp-3.2.0/test/fixtures/000077500000000000000000000000001406163405500160225ustar00rootroot00000000000000regexpp-3.2.0/test/fixtures/parser/000077500000000000000000000000001406163405500173165ustar00rootroot00000000000000regexpp-3.2.0/test/fixtures/parser/literal.ts000066400000000000000000000022731406163405500213260ustar00rootroot00000000000000import fs from "fs" import path from "path" type FixtureData = { [filename: string]: { options: { strict: boolean ecmaVersion: | 5 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 } patterns: { [source: string]: | { ast: object } | { error: { message: string; index: number } } } } } const Fixtures: FixtureData = {} const fixturesRoot = path.join(__dirname, "literal") for (const filename of fs.readdirSync(fixturesRoot)) { Fixtures[filename] = JSON.parse( fs.readFileSync(path.join(fixturesRoot, filename), "utf8"), (_, v) => (v === "$$Infinity" ? Infinity : v), ) } export function save(): void { for (const filename of Object.keys(Fixtures)) { fs.writeFileSync( path.join(fixturesRoot, filename), JSON.stringify( Fixtures[filename], (_, v) => (v === Infinity ? "$$Infinity" : v), 2, ), ) } } export { Fixtures } regexpp-3.2.0/test/fixtures/parser/literal/000077500000000000000000000000001406163405500207525ustar00rootroot00000000000000regexpp-3.2.0/test/fixtures/parser/literal/basic-invalid-2015-u.json000066400000000000000000000414641406163405500252120ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2015 }, "patterns": { "/(/u": { "error": { "message": "Invalid regular expression: /(/u: Unterminated group", "index": 2 } }, "/(?/u": { "error": { "message": "Invalid regular expression: /(?/u: Invalid group", "index": 2 } }, "/(?=/u": { "error": { "message": "Invalid regular expression: /(?=/u: Unterminated group", "index": 4 } }, "/(?=foo/u": { "error": { "message": "Invalid regular expression: /(?=foo/u: Unterminated group", "index": 7 } }, "/(?!/u": { "error": { "message": "Invalid regular expression: /(?!/u: Unterminated group", "index": 4 } }, "/(?!foo/u": { "error": { "message": "Invalid regular expression: /(?!foo/u: Unterminated group", "index": 7 } }, "/(?=a)*/u": { "error": { "message": "Invalid regular expression: /(?=a)*/u: Nothing to repeat", "index": 7 } }, "/(?=a)+/u": { "error": { "message": "Invalid regular expression: /(?=a)+/u: Nothing to repeat", "index": 7 } }, "/(?=a)?/u": { "error": { "message": "Invalid regular expression: /(?=a)?/u: Nothing to repeat", "index": 7 } }, "/(?=a){/u": { "error": { "message": "Invalid regular expression: /(?=a){/u: Lone quantifier brackets", "index": 7 } }, "/(?=a){}/u": { "error": { "message": "Invalid regular expression: /(?=a){}/u: Lone quantifier brackets", "index": 7 } }, "/(?=a){a}/u": { "error": { "message": "Invalid regular expression: /(?=a){a}/u: Lone quantifier brackets", "index": 7 } }, "/(?=a){1}/u": { "error": { "message": "Invalid regular expression: /(?=a){1}/u: Nothing to repeat", "index": 9 } }, "/(?=a){1,}/u": { "error": { "message": "Invalid regular expression: /(?=a){1,}/u: Nothing to repeat", "index": 10 } }, "/(?=a){1,2}/u": { "error": { "message": "Invalid regular expression: /(?=a){1,2}/u: Nothing to repeat", "index": 11 } }, "/a{/u": { "error": { "message": "Invalid regular expression: /a{/u: Incomplete quantifier", "index": 3 } }, "/a{}/u": { "error": { "message": "Invalid regular expression: /a{}/u: Incomplete quantifier", "index": 3 } }, "/a{a}/u": { "error": { "message": "Invalid regular expression: /a{a}/u: Incomplete quantifier", "index": 3 } }, "/a{1/u": { "error": { "message": "Invalid regular expression: /a{1/u: Incomplete quantifier", "index": 4 } }, "/a{1,/u": { "error": { "message": "Invalid regular expression: /a{1,/u: Incomplete quantifier", "index": 5 } }, "/a{1,2/u": { "error": { "message": "Invalid regular expression: /a{1,2/u: Incomplete quantifier", "index": 6 } }, "/a{2,1}/u": { "error": { "message": "Invalid regular expression: /a{2,1}/u: numbers out of order in {} quantifier", "index": 7 } }, "/a{2,1/u": { "error": { "message": "Invalid regular expression: /a{2,1/u: Incomplete quantifier", "index": 6 } }, "/(a{2,1}/u": { "error": { "message": "Invalid regular expression: /(a{2,1}/u: numbers out of order in {} quantifier", "index": 8 } }, "/a{?/u": { "error": { "message": "Invalid regular expression: /a{?/u: Incomplete quantifier", "index": 3 } }, "/a{}?/u": { "error": { "message": "Invalid regular expression: /a{}?/u: Incomplete quantifier", "index": 3 } }, "/a{a}?/u": { "error": { "message": "Invalid regular expression: /a{a}?/u: Incomplete quantifier", "index": 3 } }, "/a{1?/u": { "error": { "message": "Invalid regular expression: /a{1?/u: Incomplete quantifier", "index": 4 } }, "/a{1,?/u": { "error": { "message": "Invalid regular expression: /a{1,?/u: Incomplete quantifier", "index": 5 } }, "/a{1,2?/u": { "error": { "message": "Invalid regular expression: /a{1,2?/u: Incomplete quantifier", "index": 6 } }, "/a{2,1}?/u": { "error": { "message": "Invalid regular expression: /a{2,1}?/u: numbers out of order in {} quantifier", "index": 7 } }, "/a{2,1?/u": { "error": { "message": "Invalid regular expression: /a{2,1?/u: Incomplete quantifier", "index": 6 } }, "/(*)/u": { "error": { "message": "Invalid regular expression: /(*)/u: Nothing to repeat", "index": 3 } }, "/+/u": { "error": { "message": "Invalid regular expression: /+/u: Nothing to repeat", "index": 2 } }, "/?/u": { "error": { "message": "Invalid regular expression: /?/u: Nothing to repeat", "index": 2 } }, "/)/u": { "error": { "message": "Invalid regular expression: /)/u: Unmatched ')'", "index": 1 } }, "/[/u": { "error": { "message": "Invalid regular expression: /[/u: Unterminated character class", "index": 4 } }, "/]/u": { "error": { "message": "Invalid regular expression: /]/u: Lone quantifier brackets", "index": 1 } }, "/{/u": { "error": { "message": "Invalid regular expression: /{/u: Lone quantifier brackets", "index": 2 } }, "/}/u": { "error": { "message": "Invalid regular expression: /}/u: Lone quantifier brackets", "index": 1 } }, "/^*/u": { "error": { "message": "Invalid regular expression: /^*/u: Nothing to repeat", "index": 3 } }, "/$*/u": { "error": { "message": "Invalid regular expression: /$*/u: Nothing to repeat", "index": 3 } }, "/${1,2/u": { "error": { "message": "Invalid regular expression: /${1,2/u: Lone quantifier brackets", "index": 3 } }, "/${1,2}/u": { "error": { "message": "Invalid regular expression: /${1,2}/u: Nothing to repeat", "index": 7 } }, "/${2,1}/u": { "error": { "message": "Invalid regular expression: /${2,1}/u: Nothing to repeat", "index": 7 } }, "/\\1/u": { "error": { "message": "Invalid regular expression: /\\1/u: Invalid escape", "index": 3 } }, "/\\2(a)(/u": { "error": { "message": "Invalid regular expression: /\\2(a)(/u: Unterminated group", "index": 7 } }, "/(?:a)\\1/u": { "error": { "message": "Invalid regular expression: /(?:a)\\1/u: Invalid escape", "index": 8 } }, "/(a)\\2/u": { "error": { "message": "Invalid regular expression: /(a)\\2/u: Invalid escape", "index": 6 } }, "/(?:a)\\2/u": { "error": { "message": "Invalid regular expression: /(?:a)\\2/u: Invalid escape", "index": 8 } }, "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/u": { "error": { "message": "Invalid regular expression: /(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/u: Invalid escape", "index": 34 } }, "/(?a/u": { "error": { "message": "Invalid regular expression: /(?a/u: Invalid group", "index": 2 } }, "/(?a)/u": { "error": { "message": "Invalid regular expression: /(?a)/u: Invalid group", "index": 2 } }, "/(?:/u": { "error": { "message": "Invalid regular expression: /(?:/u: Unterminated group", "index": 4 } }, "/(?:a/u": { "error": { "message": "Invalid regular expression: /(?:a/u: Unterminated group", "index": 5 } }, "/(:a/u": { "error": { "message": "Invalid regular expression: /(:a/u: Unterminated group", "index": 4 } }, "/\\c1/u": { "error": { "message": "Invalid regular expression: /\\c1/u: Invalid escape", "index": 2 } }, "/\\c/u": { "error": { "message": "Invalid regular expression: /\\c/u: Invalid escape", "index": 2 } }, "/\\u/u": { "error": { "message": "Invalid regular expression: /\\u/u: Invalid unicode escape", "index": 3 } }, "/\\u1/u": { "error": { "message": "Invalid regular expression: /\\u1/u: Invalid unicode escape", "index": 3 } }, "/\\u12/u": { "error": { "message": "Invalid regular expression: /\\u12/u: Invalid unicode escape", "index": 3 } }, "/\\u123/u": { "error": { "message": "Invalid regular expression: /\\u123/u: Invalid unicode escape", "index": 3 } }, "/\\u{/u": { "error": { "message": "Invalid regular expression: /\\u{/u: Invalid unicode escape", "index": 3 } }, "/\\u{z/u": { "error": { "message": "Invalid regular expression: /\\u{z/u: Invalid unicode escape", "index": 3 } }, "/\\u{20/u": { "error": { "message": "Invalid regular expression: /\\u{20/u: Invalid unicode escape", "index": 3 } }, "/\\u{110000}/u": { "error": { "message": "Invalid regular expression: /\\u{110000}/u: Invalid unicode escape", "index": 3 } }, "/\\377/u": { "error": { "message": "Invalid regular expression: /\\377/u: Invalid escape", "index": 5 } }, "/\\400/u": { "error": { "message": "Invalid regular expression: /\\400/u: Invalid escape", "index": 5 } }, "/\\a/u": { "error": { "message": "Invalid regular expression: /\\a/u: Invalid escape", "index": 2 } }, "/[b-a]/u": { "error": { "message": "Invalid regular expression: /[b-a]/u: Range out of order in character class", "index": 5 } }, "/[a-b--+]/u": { "error": { "message": "Invalid regular expression: /[a-b--+]/u: Range out of order in character class", "index": 8 } }, "/[\\c1]/u": { "error": { "message": "Invalid regular expression: /[\\c1]/u: Invalid escape", "index": 3 } }, "/[\\c]/u": { "error": { "message": "Invalid regular expression: /[\\c]/u: Invalid escape", "index": 3 } }, "/[\\x]/u": { "error": { "message": "Invalid regular expression: /[\\x]/u: Invalid escape", "index": 4 } }, "/[\\xz]/u": { "error": { "message": "Invalid regular expression: /[\\xz]/u: Invalid escape", "index": 4 } }, "/[\\x1]/u": { "error": { "message": "Invalid regular expression: /[\\x1]/u: Invalid escape", "index": 4 } }, "/[\\u]/u": { "error": { "message": "Invalid regular expression: /[\\u]/u: Invalid unicode escape", "index": 4 } }, "/[\\u1]/u": { "error": { "message": "Invalid regular expression: /[\\u1]/u: Invalid unicode escape", "index": 4 } }, "/[\\u12]/u": { "error": { "message": "Invalid regular expression: /[\\u12]/u: Invalid unicode escape", "index": 4 } }, "/[\\u123]/u": { "error": { "message": "Invalid regular expression: /[\\u123]/u: Invalid unicode escape", "index": 4 } }, "/[\\u{]/u": { "error": { "message": "Invalid regular expression: /[\\u{]/u: Invalid unicode escape", "index": 4 } }, "/[\\u{z]/u": { "error": { "message": "Invalid regular expression: /[\\u{z]/u: Invalid unicode escape", "index": 4 } }, "/[\\u{20]/u": { "error": { "message": "Invalid regular expression: /[\\u{20]/u: Invalid unicode escape", "index": 4 } }, "/[\\u{110000}]/u": { "error": { "message": "Invalid regular expression: /[\\u{110000}]/u: Invalid unicode escape", "index": 4 } }, "/[\\77]/u": { "error": { "message": "Invalid regular expression: /[\\77]/u: Invalid escape", "index": 3 } }, "/[\\377]/u": { "error": { "message": "Invalid regular expression: /[\\377]/u: Invalid escape", "index": 3 } }, "/[\\400]/u": { "error": { "message": "Invalid regular expression: /[\\400]/u: Invalid escape", "index": 3 } }, "/[\\a]/u": { "error": { "message": "Invalid regular expression: /[\\a]/u: Invalid escape", "index": 3 } }, "/[\\d-\\uFFFF]/u": { "error": { "message": "Invalid regular expression: /[\\d-\\uFFFF]/u: Invalid character class", "index": 11 } }, "/[\\D-\\uFFFF]/u": { "error": { "message": "Invalid regular expression: /[\\D-\\uFFFF]/u: Invalid character class", "index": 11 } }, "/[\\s-\\uFFFF]/u": { "error": { "message": "Invalid regular expression: /[\\s-\\uFFFF]/u: Invalid character class", "index": 11 } }, "/[\\S-\\uFFFF]/u": { "error": { "message": "Invalid regular expression: /[\\S-\\uFFFF]/u: Invalid character class", "index": 11 } }, "/[\\w-\\uFFFF]/u": { "error": { "message": "Invalid regular expression: /[\\w-\\uFFFF]/u: Invalid character class", "index": 11 } }, "/[\\W-\\uFFFF]/u": { "error": { "message": "Invalid regular expression: /[\\W-\\uFFFF]/u: Invalid character class", "index": 11 } }, "/[\\u0000-\\d]/u": { "error": { "message": "Invalid regular expression: /[\\u0000-\\d]/u: Invalid character class", "index": 11 } }, "/[\\u0000-\\D]/u": { "error": { "message": "Invalid regular expression: /[\\u0000-\\D]/u: Invalid character class", "index": 11 } }, "/[\\u0000-\\s]/u": { "error": { "message": "Invalid regular expression: /[\\u0000-\\s]/u: Invalid character class", "index": 11 } }, "/[\\u0000-\\S]/u": { "error": { "message": "Invalid regular expression: /[\\u0000-\\S]/u: Invalid character class", "index": 11 } }, "/[\\u0000-\\w]/u": { "error": { "message": "Invalid regular expression: /[\\u0000-\\w]/u: Invalid character class", "index": 11 } }, "/[\\u0000-\\W]/u": { "error": { "message": "Invalid regular expression: /[\\u0000-\\W]/u: Invalid character class", "index": 11 } }, "/[\\u0001-\\u0000]/u": { "error": { "message": "Invalid regular expression: /[\\u0001-\\u0000]/u: Range out of order in character class", "index": 15 } }, "/[\\u{2}-\\u{1}]/u": { "error": { "message": "Invalid regular expression: /[\\u{2}-\\u{1}]/u: Range out of order in character class", "index": 13 } }, "/[\\u{2-\\u{1}]/u": { "error": { "message": "Invalid regular expression: /[\\u{2-\\u{1}]/u: Invalid unicode escape", "index": 4 } }, "/[\\a-\\z]/u": { "error": { "message": "Invalid regular expression: /[\\a-\\z]/u: Invalid escape", "index": 3 } }, "/[\\z-\\a]/u": { "error": { "message": "Invalid regular expression: /[\\z-\\a]/u: Invalid escape", "index": 3 } }, "/[0-9--+]/u": { "error": { "message": "Invalid regular expression: /[0-9--+]/u: Range out of order in character class", "index": 8 } }, "/[\\c-a]/u": { "error": { "message": "Invalid regular expression: /[\\c-a]/u: Invalid escape", "index": 3 } }, "/[\\c0-\u001f]/u": { "error": { "message": "Invalid regular expression: /[\\c0-\u001f]/u: Invalid escape", "index": 3 } }, "/[\\c_]/u": { "error": { "message": "Invalid regular expression: /[\\c_]/u: Invalid escape", "index": 3 } }, "/[🌸-🌷]/u": { "error": { "message": "Invalid regular expression: /[🌸-🌷]/u: Range out of order in character class", "index": 7 } }, "/[\\d][\\12-\\14]{1,}[^\\d]/u": { "error": { "message": "Invalid regular expression: /[\\d][\\12-\\14]{1,}[^\\d]/u: Invalid escape", "index": 7 } } } }regexpp-3.2.0/test/fixtures/parser/literal/basic-invalid-2015.json000066400000000000000000000135301406163405500247410ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2015 }, "patterns": { "/(/": { "error": { "message": "Invalid regular expression: /(/: Unterminated group", "index": 2 } }, "/(?/": { "error": { "message": "Invalid regular expression: /(?/: Invalid group", "index": 2 } }, "/(?=/": { "error": { "message": "Invalid regular expression: /(?=/: Unterminated group", "index": 4 } }, "/(?=foo/": { "error": { "message": "Invalid regular expression: /(?=foo/: Unterminated group", "index": 7 } }, "/(?!/": { "error": { "message": "Invalid regular expression: /(?!/: Unterminated group", "index": 4 } }, "/(?!foo/": { "error": { "message": "Invalid regular expression: /(?!foo/: Unterminated group", "index": 7 } }, "/a{2,1}/": { "error": { "message": "Invalid regular expression: /a{2,1}/: numbers out of order in {} quantifier", "index": 7 } }, "/(a{2,1}/": { "error": { "message": "Invalid regular expression: /(a{2,1}/: numbers out of order in {} quantifier", "index": 8 } }, "/a{2,1}?/": { "error": { "message": "Invalid regular expression: /a{2,1}?/: numbers out of order in {} quantifier", "index": 7 } }, "/(*)/": { "error": { "message": "Invalid regular expression: /(*)/: Nothing to repeat", "index": 3 } }, "/+/": { "error": { "message": "Invalid regular expression: /+/: Nothing to repeat", "index": 2 } }, "/?/": { "error": { "message": "Invalid regular expression: /?/: Nothing to repeat", "index": 2 } }, "/)/": { "error": { "message": "Invalid regular expression: /)/: Unmatched ')'", "index": 1 } }, "/[/": { "error": { "message": "Invalid regular expression: /[/: Unterminated character class", "index": 3 } }, "/^*/": { "error": { "message": "Invalid regular expression: /^*/: Nothing to repeat", "index": 3 } }, "/$*/": { "error": { "message": "Invalid regular expression: /$*/: Nothing to repeat", "index": 3 } }, "/${1,2}/": { "error": { "message": "Invalid regular expression: /${1,2}/: Nothing to repeat", "index": 7 } }, "/${2,1}/": { "error": { "message": "Invalid regular expression: /${2,1}/: Nothing to repeat", "index": 7 } }, "/\\2(a)(/": { "error": { "message": "Invalid regular expression: /\\2(a)(/: Unterminated group", "index": 7 } }, "/(?a/": { "error": { "message": "Invalid regular expression: /(?a/: Invalid group", "index": 2 } }, "/(?a)/": { "error": { "message": "Invalid regular expression: /(?a)/: Invalid group", "index": 2 } }, "/(?:/": { "error": { "message": "Invalid regular expression: /(?:/: Unterminated group", "index": 4 } }, "/(?:a/": { "error": { "message": "Invalid regular expression: /(?:a/: Unterminated group", "index": 5 } }, "/(:a/": { "error": { "message": "Invalid regular expression: /(:a/: Unterminated group", "index": 4 } }, "/[b-a]/": { "error": { "message": "Invalid regular expression: /[b-a]/: Range out of order in character class", "index": 5 } }, "/[a-b--+]/": { "error": { "message": "Invalid regular expression: /[a-b--+]/: Range out of order in character class", "index": 8 } }, "/[\\u0001-\\u0000]/": { "error": { "message": "Invalid regular expression: /[\\u0001-\\u0000]/: Range out of order in character class", "index": 15 } }, "/[\\u{1}-\\u{2}]/": { "error": { "message": "Invalid regular expression: /[\\u{1}-\\u{2}]/: Range out of order in character class", "index": 10 } }, "/[\\u{2}-\\u{1}]/": { "error": { "message": "Invalid regular expression: /[\\u{2}-\\u{1}]/: Range out of order in character class", "index": 10 } }, "/[\\z-\\a]/": { "error": { "message": "Invalid regular expression: /[\\z-\\a]/: Range out of order in character class", "index": 7 } }, "/[0-9--+]/": { "error": { "message": "Invalid regular expression: /[0-9--+]/: Range out of order in character class", "index": 8 } }, "/[\\c-a]/": { "error": { "message": "Invalid regular expression: /[\\c-a]/: Range out of order in character class", "index": 6 } }, "/[🌷-🌸]/": { "error": { "message": "Invalid regular expression: /[🌷-🌸]/: Range out of order in character class", "index": 6 } }, "/[\\u0000-🌸-\\u0000]/": { "error": { "message": "Invalid regular expression: /[\\u0000-🌸-\\u0000]/: Range out of order in character class", "index": 18 } }, "/[\\u0000-\\ud83c\\udf38-\\u0000]/": { "error": { "message": "Invalid regular expression: /[\\u0000-\\ud83c\\udf38-\\u0000]/: Range out of order in character class", "index": 28 } }, "/[🌸-🌷]/": { "error": { "message": "Invalid regular expression: /[🌸-🌷]/: Range out of order in character class", "index": 6 } }, "/[\\uD834\\uDF06-\\uD834\\uDF08a-z]/": { "error": { "message": "Invalid regular expression: /[\\uD834\\uDF06-\\uD834\\uDF08a-z]/: Range out of order in character class", "index": 21 } } } }regexpp-3.2.0/test/fixtures/parser/literal/basic-invalid.json000066400000000000000000000126611406163405500243600ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 5 }, "patterns": { "/(/": { "error": { "message": "Invalid regular expression: /(/: Unterminated group", "index": 2 } }, "/(?/": { "error": { "message": "Invalid regular expression: /(?/: Invalid group", "index": 2 } }, "/(?=/": { "error": { "message": "Invalid regular expression: /(?=/: Unterminated group", "index": 4 } }, "/(?=foo/": { "error": { "message": "Invalid regular expression: /(?=foo/: Unterminated group", "index": 7 } }, "/(?!/": { "error": { "message": "Invalid regular expression: /(?!/: Unterminated group", "index": 4 } }, "/(?!foo/": { "error": { "message": "Invalid regular expression: /(?!foo/: Unterminated group", "index": 7 } }, "/a{2,1}/": { "error": { "message": "Invalid regular expression: /a{2,1}/: numbers out of order in {} quantifier", "index": 7 } }, "/(a{2,1}/": { "error": { "message": "Invalid regular expression: /(a{2,1}/: numbers out of order in {} quantifier", "index": 8 } }, "/a{2,1}?/": { "error": { "message": "Invalid regular expression: /a{2,1}?/: numbers out of order in {} quantifier", "index": 7 } }, "/(*)/": { "error": { "message": "Invalid regular expression: /(*)/: Nothing to repeat", "index": 3 } }, "/+/": { "error": { "message": "Invalid regular expression: /+/: Nothing to repeat", "index": 2 } }, "/?/": { "error": { "message": "Invalid regular expression: /?/: Nothing to repeat", "index": 2 } }, "/)/": { "error": { "message": "Invalid regular expression: /)/: Unmatched ')'", "index": 1 } }, "/[/": { "error": { "message": "Invalid regular expression: /[/: Unterminated character class", "index": 3 } }, "/^*/": { "error": { "message": "Invalid regular expression: /^*/: Nothing to repeat", "index": 3 } }, "/$*/": { "error": { "message": "Invalid regular expression: /$*/: Nothing to repeat", "index": 3 } }, "/${1,2}/": { "error": { "message": "Invalid regular expression: /${1,2}/: Nothing to repeat", "index": 7 } }, "/${2,1}/": { "error": { "message": "Invalid regular expression: /${2,1}/: Nothing to repeat", "index": 7 } }, "/\\2(a)(/": { "error": { "message": "Invalid regular expression: /\\2(a)(/: Unterminated group", "index": 7 } }, "/(?a/": { "error": { "message": "Invalid regular expression: /(?a/: Invalid group", "index": 2 } }, "/(?a)/": { "error": { "message": "Invalid regular expression: /(?a)/: Invalid group", "index": 2 } }, "/(?:/": { "error": { "message": "Invalid regular expression: /(?:/: Unterminated group", "index": 4 } }, "/(?:a/": { "error": { "message": "Invalid regular expression: /(?:a/: Unterminated group", "index": 5 } }, "/(:a/": { "error": { "message": "Invalid regular expression: /(:a/: Unterminated group", "index": 4 } }, "/[b-a]/": { "error": { "message": "Invalid regular expression: /[b-a]/: Range out of order in character class", "index": 5 } }, "/[a-b--+]/": { "error": { "message": "Invalid regular expression: /[a-b--+]/: Range out of order in character class", "index": 8 } }, "/[\\u0001-\\u0000]/": { "error": { "message": "Invalid regular expression: /[\\u0001-\\u0000]/: Range out of order in character class", "index": 15 } }, "/[\\u{1}-\\u{2}]/": { "error": { "message": "Invalid regular expression: /[\\u{1}-\\u{2}]/: Range out of order in character class", "index": 10 } }, "/[\\u{2}-\\u{1}]/": { "error": { "message": "Invalid regular expression: /[\\u{2}-\\u{1}]/: Range out of order in character class", "index": 10 } }, "/[\\z-\\a]/": { "error": { "message": "Invalid regular expression: /[\\z-\\a]/: Range out of order in character class", "index": 7 } }, "/[0-9--+]/": { "error": { "message": "Invalid regular expression: /[0-9--+]/: Range out of order in character class", "index": 8 } }, "/[\\c-a]/": { "error": { "message": "Invalid regular expression: /[\\c-a]/: Range out of order in character class", "index": 6 } }, "/[🌷-🌸]/": { "error": { "message": "Invalid regular expression: /[🌷-🌸]/: Range out of order in character class", "index": 6 } }, "/[🌸-🌷]/": { "error": { "message": "Invalid regular expression: /[🌸-🌷]/: Range out of order in character class", "index": 6 } }, "/[\\uD834\\uDF06-\\uD834\\uDF08a-z]/": { "error": { "message": "Invalid regular expression: /[\\uD834\\uDF06-\\uD834\\uDF08a-z]/: Range out of order in character class", "index": 21 } } } }regexpp-3.2.0/test/fixtures/parser/literal/basic-valid-2015-u.json000066400000000000000000012474051406163405500246670ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2015 }, "patterns": { "/foo/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/foo/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "foo", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "foo", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "f", "value": 102 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "o", "value": 111 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "o", "value": 111 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 6, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/foo|bar/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/foo|bar/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "foo|bar", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "foo", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "f", "value": 102 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "o", "value": 111 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "o", "value": 111 } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 8, "raw": "bar", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "b", "value": 98 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "r", "value": 114 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 10, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/||||/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/||||/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "||||", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 1, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 2, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 3, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 5, "raw": "", "elements": [] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^|$|\\b|\\B/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/^|$|\\b|\\B/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "^|$|\\b|\\B", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 4, "raw": "$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 3, "end": 4, "raw": "$", "kind": "end" } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 7, "raw": "\\b", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 5, "end": 7, "raw": "\\b", "kind": "word", "negate": false } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 10, "raw": "\\B", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 8, "end": 10, "raw": "\\B", "kind": "word", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 12, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/(?=)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "(?=)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?=)", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?=)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=foo)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/(?=foo)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "(?=foo)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?=foo)", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?=foo)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 7, "raw": "foo", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "f", "value": 102 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "o", "value": 111 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "o", "value": 111 } ] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 10, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?!)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/(?!)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "(?!)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?!)", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?!)", "kind": "lookahead", "negate": true, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?!foo)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/(?!foo)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "(?!foo)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?!foo)", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?!foo)", "kind": "lookahead", "negate": true, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 7, "raw": "foo", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "f", "value": 102 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "o", "value": 111 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "o", "value": 111 } ] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 10, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a*/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a*/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "a*", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a*", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a+/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a+/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "a+", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a+", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a?/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a?/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "a?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{1}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "a{1}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{1}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{1}", "min": 1, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/a{1,}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{1,}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1,}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1,}", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 8, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,2}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/a{1,2}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "a{1,2}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,2}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,2}", "min": 1, "max": 2, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 9, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a*?/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a*?/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a*?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a*?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a*?", "min": 0, "max": "$$Infinity", "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 6, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a+?/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a+?/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a+?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a+?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a+?", "min": 1, "max": "$$Infinity", "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 6, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a??/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a??/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a??", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a??", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a??", "min": 0, "max": 1, "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 6, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1}?/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/a{1}?/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{1}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1}?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1}?", "min": 1, "max": 1, "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 8, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,}?/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/a{1,}?/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "a{1,}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,}?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,}?", "min": 1, "max": "$$Infinity", "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 9, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,2}?/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/a{1,2}?/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "a{1,2}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "a{1,2}?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 8, "raw": "a{1,2}?", "min": 1, "max": 2, "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 10, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/👍🚀❇️/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/👍🚀❇️/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "👍🚀❇️", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "👍🚀❇️", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "👍", "value": 128077 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 5, "raw": "🚀", "value": 128640 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "❇", "value": 10055 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "️", "value": 65039 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 9, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/^/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "^", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 4, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 4, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/./u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/./u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": ".", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "kind": "any" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 4, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/|/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/|/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "|", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 1, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 2, "raw": "", "elements": [] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 4, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)\\1/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(a)\\1/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "(a)\\1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(a)\\1", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 4, "end": 6, "raw": "\\1", "ref": 1, "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 8, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\1(a)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/\\1(a)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "\\1(a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\1(a)", "elements": [ { "type": "Backreference", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\1", "ref": 1, "resolved": "♻️../1" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 3, "end": 6, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../0" ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 8, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 36, "raw": "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 34, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 34, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 4, "end": 7, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 7, "end": 10, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 10, "end": 13, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 13, "end": 16, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 16, "end": 19, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 19, "end": 22, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 22, "end": 25, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 25, "end": 28, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 28, "end": 31, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../10" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 31, "end": 34, "raw": "\\10", "ref": 10, "resolved": "♻️../9" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 35, "end": 36, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 39, "raw": "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 37, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 37, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 4, "end": 7, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 7, "end": 10, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 10, "end": 13, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 13, "end": 16, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 16, "end": 19, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 19, "end": 22, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 22, "end": 25, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 25, "end": 28, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 28, "end": 31, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 31, "end": 34, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 32, "end": 33, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 32, "end": 33, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../11" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 34, "end": 37, "raw": "\\11", "ref": 11, "resolved": "♻️../10" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 38, "end": 39, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:a)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(?:a)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?:a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?:a)", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?:a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 8, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\d/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\d/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\d", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\d", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\d", "kind": "digit", "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\D/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\D/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\D", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\D", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\D", "kind": "digit", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\s/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\s/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\s", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\s", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\s", "kind": "space", "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\S/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\S/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\S", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\S", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\S", "kind": "space", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\w/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\w/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\w", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\w", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\w", "kind": "word", "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\W/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\W/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\W", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\W", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\W", "kind": "word", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\f/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\f/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\f", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\f", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\f", "value": 12 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\n/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\n/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\n", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\n", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\n", "value": 10 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\r/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\r/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\r", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\r", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\r", "value": 13 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\t/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\t/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\t", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\t", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\t", "value": 9 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\v/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\v/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\v", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\v", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\v", "value": 11 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\cA/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/\\cA/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\cA", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\cA", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\cA", "value": 1 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 6, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\cz/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/\\cz/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\cz", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\cz", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\cz", "value": 26 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 6, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\0/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\0/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\0", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\0", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\0", "value": 0 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u1234/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/\\u1234/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "\\u1234", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u1234", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u1234", "value": 4660 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 9, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u12345/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/\\u12345/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "\\u12345", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "\\u12345", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u1234", "value": 4660 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "5", "value": 53 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 10, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{a}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/\\u{a}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "\\u{a}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\u{a}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\u{a}", "value": 10 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 8, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{20}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/\\u{20}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "\\u{20}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u{20}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u{20}", "value": 32 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 9, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{10FFFF}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/\\u{10FFFF}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "\\u{10FFFF}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "\\u{10FFFF}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 11, "raw": "\\u{10FFFF}", "value": 1114111 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 13, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{00000001}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 15, "raw": "/\\u{00000001}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "\\u{00000001}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "\\u{00000001}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 13, "raw": "\\u{00000001}", "value": 1 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 15, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\^/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\^/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\^", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\^", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\^", "value": 94 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\$", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\$", "value": 36 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\./u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\./u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\.", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\.", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\.", "value": 46 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\+/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\+/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\+", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\+", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\+", "value": 43 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\?/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\?/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\?", "value": 63 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\(/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\(/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\(", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\(", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\(", "value": 40 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\)", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\)", "value": 41 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\[/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\[/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\[", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\[", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\[", "value": 91 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\]", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\]", "value": 93 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\{/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\{/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\{", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\{", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\|/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\|/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\|", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\|", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\|", "value": 124 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\//u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\//u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\/", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\/", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\/", "value": 47 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/[]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "[]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "[]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 3, "raw": "[]", "negate": false, "elements": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 5, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[^-a-b-]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/[^-a-b-]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[^-a-b-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[^-a-b-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[^-a-b-]", "negate": true, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "-", "value": 45 }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "a-b", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "b", "value": 98 } }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 11, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[-]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[-]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "[-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "[-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 4, "raw": "[-]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 6, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[a]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[a]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "[a]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "[a]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 4, "raw": "[a]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 6, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[--]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[--]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[--]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[--]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[--]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[-a]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[-a]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[-a]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[-a]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[-a]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "a", "value": 97 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[-a-]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[-a-]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[-a-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[-a-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[-a-]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 8, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[a-]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[a-]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[a-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[a-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[a-]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[a-b]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[a-b]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[a-b]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[a-b]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[a-b]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 5, "raw": "a-b", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "b", "value": 98 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 8, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[-a-b-]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[-a-b-]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[-a-b-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[-a-b-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[-a-b-]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-b", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "b", "value": 98 } }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 10, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[---]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[---]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[---]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[---]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[---]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 5, "raw": "---", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "-", "value": 45 }, "max": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "-", "value": 45 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 8, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[a-b--/]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/[a-b--/]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[a-b--/]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[a-b--/]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[a-b--/]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 5, "raw": "a-b", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "b", "value": 98 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 5, "end": 8, "raw": "--/", "min": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "-", "value": 45 }, "max": { "type": "Character", "parent": "♻️..", "start": 7, "end": 8, "raw": "/", "value": 47 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 11, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\b-\\n]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[\\b-\\n]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\b-\\n]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\b-\\n]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\b-\\n]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 7, "raw": "\\b-\\n", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\b", "value": 8 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 7, "raw": "\\n", "value": 10 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 10, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[b\\-a]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[b\\-a]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[b\\-a]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[b\\-a]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[b\\-a]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "b", "value": 98 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 5, "raw": "\\-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 9, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\d]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\d]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\d]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\d]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\d]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\D]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\D]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\D]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\D]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\D]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\D", "kind": "digit", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\s]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\s]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\s]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\s]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\s]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\s", "kind": "space", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\S]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\S]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\S]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\S]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\S]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\S", "kind": "space", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\w]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\w]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\w]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\w]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\w]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\w", "kind": "word", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\W]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\W]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\W]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\W]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\W]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\W", "kind": "word", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\f]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\f]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\f]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\f]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\f]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\f", "value": 12 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\n]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\n]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\n]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\n]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\n]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\n", "value": 10 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\r]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\r]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\r]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\r]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\r]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\r", "value": 13 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\t]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\t]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\t]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\t]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\t]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\t", "value": 9 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\v]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\v]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\v]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\v]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\v]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\v", "value": 11 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\cA]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[\\cA]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\cA]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\cA]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\cA]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\cA", "value": 1 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 8, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\cz]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[\\cz]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\cz]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\cz]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\cz]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\cz", "value": 26 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 8, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\0]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\0]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\0]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\0]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\0]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\0", "value": 0 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\x12]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\x12]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[\\x12]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\x12]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\x12]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 6, "raw": "\\x12", "value": 18 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 9, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\x123]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[\\x123]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\x123]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\x123]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\x123]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 6, "raw": "\\x12", "value": 18 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "3", "value": 51 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 10, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u1234]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/[\\u1234]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[\\u1234]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[\\u1234]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[\\u1234]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u1234", "value": 4660 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 11, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u12345]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/[\\u12345]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "[\\u12345]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "[\\u12345]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 10, "raw": "[\\u12345]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u1234", "value": 4660 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "5", "value": 53 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 12, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{a}]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[\\u{a}]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\u{a}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u{a}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u{a}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 7, "raw": "\\u{a}", "value": 10 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 10, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{20}]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/[\\u{20}]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[\\u{20}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[\\u{20}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[\\u{20}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u{20}", "value": 32 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 11, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{10FFFF}]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 15, "raw": "/[\\u{10FFFF}]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "[\\u{10FFFF}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{10FFFF}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{10FFFF}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 12, "raw": "\\u{10FFFF}", "value": 1114111 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 15, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{00000001}]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 17, "raw": "/[\\u{00000001}]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 15, "raw": "[\\u{00000001}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 15, "raw": "[\\u{00000001}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 15, "raw": "[\\u{00000001}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 14, "raw": "\\u{00000001}", "value": 1 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 16, "end": 17, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\^]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\^]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\^]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\^]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\^]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\^", "value": 94 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\$]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\$]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\$]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\$]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\$]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\$", "value": 36 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\.]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\.]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\.]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\.]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\.]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\.", "value": 46 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\+]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\+]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\+]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\+]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\+]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\+", "value": 43 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\?]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\?]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\?]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\?]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\?]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\?", "value": 63 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\(]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\(]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\(]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\(]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\(]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\(", "value": 40 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\)]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\)]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\)]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\)]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\)]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\)", "value": 41 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\[]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\[]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\[]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\[]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\[]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\[", "value": 91 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\]]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\]]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\]]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\]]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\]]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\]", "value": 93 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\{]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\{]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\{]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\{]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\{]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\{", "value": 123 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\}]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\}]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\|]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\|]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\|]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\|]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\|]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\|", "value": 124 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\/]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\/]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\/]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\/]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\/]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\/", "value": 47 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\u0001]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 18, "raw": "/[\\u0000-\\u0001]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 16, "raw": "[\\u0000-\\u0001]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 16, "raw": "[\\u0000-\\u0001]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 16, "raw": "[\\u0000-\\u0001]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 15, "raw": "\\u0000-\\u0001", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 15, "raw": "\\u0001", "value": 1 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 17, "end": 18, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{1}-\\u{2}]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 16, "raw": "/[\\u{1}-\\u{2}]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 14, "raw": "[\\u{1}-\\u{2}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 14, "raw": "[\\u{1}-\\u{2}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 14, "raw": "[\\u{1}-\\u{2}]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 13, "raw": "\\u{1}-\\u{2}", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 7, "raw": "\\u{1}", "value": 1 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 13, "raw": "\\u{2}", "value": 2 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 15, "end": 16, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[0-9--/]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/[0-9--/]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[0-9--/]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[0-9--/]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[0-9--/]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 5, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "9", "value": 57 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 5, "end": 8, "raw": "--/", "min": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "-", "value": 45 }, "max": { "type": "Character", "parent": "♻️..", "start": 7, "end": 8, "raw": "/", "value": 47 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 11, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[🌷-🌸]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[🌷-🌸]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[🌷-🌸]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[🌷-🌸]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[🌷-🌸]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 7, "raw": "🌷-🌸", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 4, "raw": "🌷", "value": 127799 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 7, "raw": "🌸", "value": 127800 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 10, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-🌸-\\u0000]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 21, "raw": "/[\\u0000-🌸-\\u0000]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 19, "raw": "[\\u0000-🌸-\\u0000]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 19, "raw": "[\\u0000-🌸-\\u0000]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 19, "raw": "[\\u0000-🌸-\\u0000]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 11, "raw": "\\u0000-🌸", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 11, "raw": "🌸", "value": 127800 } }, { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 12, "end": 18, "raw": "\\u0000", "value": 0 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 20, "end": 21, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\u{1f338}-\\u0000]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 28, "raw": "/[\\u0000-\\u{1f338}-\\u0000]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 26, "raw": "[\\u0000-\\u{1f338}-\\u0000]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 26, "raw": "[\\u0000-\\u{1f338}-\\u0000]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 26, "raw": "[\\u0000-\\u{1f338}-\\u0000]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 18, "raw": "\\u0000-\\u{1f338}", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 18, "raw": "\\u{1f338}", "value": 127800 } }, { "type": "Character", "parent": "♻️../..", "start": 18, "end": 19, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 19, "end": 25, "raw": "\\u0000", "value": 0 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 27, "end": 28, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\ud83c\\udf38-\\u0000]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 31, "raw": "/[\\u0000-\\ud83c\\udf38-\\u0000]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 29, "raw": "[\\u0000-\\ud83c\\udf38-\\u0000]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 29, "raw": "[\\u0000-\\ud83c\\udf38-\\u0000]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 29, "raw": "[\\u0000-\\ud83c\\udf38-\\u0000]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 21, "raw": "\\u0000-\\ud83c\\udf38", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 21, "raw": "\\ud83c\\udf38", "value": 127800 } }, { "type": "Character", "parent": "♻️../..", "start": 21, "end": 22, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 22, "end": 28, "raw": "\\u0000", "value": 0 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 30, "end": 31, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\uD834\\uDF06-\\uD834\\uDF08a-z]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 33, "raw": "/[\\uD834\\uDF06-\\uD834\\uDF08a-z]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 31, "raw": "[\\uD834\\uDF06-\\uD834\\uDF08a-z]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 31, "raw": "[\\uD834\\uDF06-\\uD834\\uDF08a-z]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 31, "raw": "[\\uD834\\uDF06-\\uD834\\uDF08a-z]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 27, "raw": "\\uD834\\uDF06-\\uD834\\uDF08", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 14, "raw": "\\uD834\\uDF06", "value": 119558 }, "max": { "type": "Character", "parent": "♻️..", "start": 15, "end": 27, "raw": "\\uD834\\uDF08", "value": 119560 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 27, "end": 30, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 27, "end": 28, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 29, "end": 30, "raw": "z", "value": 122 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 32, "end": 33, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[0-9]*$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/^[0-9]*$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "^[0-9]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "^[0-9]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 8, "raw": "[0-9]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 7, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "9", "value": 57 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 8, "end": 9, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 11, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[0-9]+$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/^[0-9]+$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "^[0-9]+$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "^[0-9]+$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 8, "raw": "[0-9]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 7, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "9", "value": 57 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 8, "end": 9, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 11, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[a-zA-Z]*$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/^[a-zA-Z]*$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "^[a-zA-Z]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "^[a-zA-Z]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 11, "raw": "[a-zA-Z]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 10, "raw": "[a-zA-Z]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "Z", "value": 90 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 11, "end": 12, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 14, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[a-zA-Z]+$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/^[a-zA-Z]+$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "^[a-zA-Z]+$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "^[a-zA-Z]+$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 11, "raw": "[a-zA-Z]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 10, "raw": "[a-zA-Z]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "Z", "value": 90 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 11, "end": 12, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 14, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[0-9a-zA-Z]*$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 17, "raw": "/^[0-9a-zA-Z]*$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 15, "raw": "^[0-9a-zA-Z]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 15, "raw": "^[0-9a-zA-Z]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 14, "raw": "[0-9a-zA-Z]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 13, "raw": "[0-9a-zA-Z]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "9", "value": 57 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 9, "end": 12, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "Z", "value": 90 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 14, "end": 15, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 16, "end": 17, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[a-zA-Z0-9!-/:-@\\[-`{-~]*$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 30, "raw": "/^[a-zA-Z0-9!-/:-@\\[-`{-~]*$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 28, "raw": "^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 28, "raw": "^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 27, "raw": "[a-zA-Z0-9!-/:-@\\[-`{-~]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 26, "raw": "[a-zA-Z0-9!-/:-@\\[-`{-~]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 9, "end": 12, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "9", "value": 57 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 12, "end": 15, "raw": "!-/", "min": { "type": "Character", "parent": "♻️..", "start": 12, "end": 13, "raw": "!", "value": 33 }, "max": { "type": "Character", "parent": "♻️..", "start": 14, "end": 15, "raw": "/", "value": 47 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 15, "end": 18, "raw": ":-@", "min": { "type": "Character", "parent": "♻️..", "start": 15, "end": 16, "raw": ":", "value": 58 }, "max": { "type": "Character", "parent": "♻️..", "start": 17, "end": 18, "raw": "@", "value": 64 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 18, "end": 22, "raw": "\\[-`", "min": { "type": "Character", "parent": "♻️..", "start": 18, "end": 20, "raw": "\\[", "value": 91 }, "max": { "type": "Character", "parent": "♻️..", "start": 21, "end": 22, "raw": "`", "value": 96 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 22, "end": 25, "raw": "{-~", "min": { "type": "Character", "parent": "♻️..", "start": 22, "end": 23, "raw": "{", "value": 123 }, "max": { "type": "Character", "parent": "♻️..", "start": 24, "end": 25, "raw": "~", "value": 126 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 27, "end": 28, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 29, "end": 30, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^([a-zA-Z0-9]{8,})$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 22, "raw": "/^([a-zA-Z0-9]{8,})$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 20, "raw": "^([a-zA-Z0-9]{8,})$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 20, "raw": "^([a-zA-Z0-9]{8,})$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 19, "raw": "([a-zA-Z0-9]{8,})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 18, "raw": "[a-zA-Z0-9]{8,}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 18, "raw": "[a-zA-Z0-9]{8,}", "min": 8, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 3, "end": 14, "raw": "[a-zA-Z0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 7, "end": 10, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 7, "end": 8, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 10, "end": 13, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 10, "end": 11, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 12, "end": 13, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] }, { "type": "Assertion", "parent": "♻️../..", "start": 19, "end": 20, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 21, "end": 22, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^([a-zA-Z0-9]{6,8})$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 23, "raw": "/^([a-zA-Z0-9]{6,8})$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 21, "raw": "^([a-zA-Z0-9]{6,8})$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 21, "raw": "^([a-zA-Z0-9]{6,8})$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 20, "raw": "([a-zA-Z0-9]{6,8})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 19, "raw": "[a-zA-Z0-9]{6,8}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 19, "raw": "[a-zA-Z0-9]{6,8}", "min": 6, "max": 8, "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 3, "end": 14, "raw": "[a-zA-Z0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 7, "end": 10, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 7, "end": 8, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 10, "end": 13, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 10, "end": 11, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 12, "end": 13, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] }, { "type": "Assertion", "parent": "♻️../..", "start": 20, "end": 21, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 22, "end": 23, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^([0-9]{0,8})$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 17, "raw": "/^([0-9]{0,8})$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 15, "raw": "^([0-9]{0,8})$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 15, "raw": "^([0-9]{0,8})$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 14, "raw": "([0-9]{0,8})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 13, "raw": "[0-9]{0,8}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 13, "raw": "[0-9]{0,8}", "min": 0, "max": 8, "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 3, "end": 8, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] }, { "type": "Assertion", "parent": "♻️../..", "start": 14, "end": 15, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 16, "end": 17, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[0-9]{8}$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/^[0-9]{8}$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "^[0-9]{8}$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "^[0-9]{8}$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 10, "raw": "[0-9]{8}", "min": 8, "max": 8, "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 7, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "9", "value": 57 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 10, "end": 11, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 13, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^https?:\\/\\//u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 15, "raw": "/^https?:\\/\\//u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "^https?:\\/\\/", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "^https?:\\/\\/", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "h", "value": 104 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "t", "value": 116 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "t", "value": 116 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "p", "value": 112 }, { "type": "Quantifier", "parent": "♻️../..", "start": 6, "end": 8, "raw": "s?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "s", "value": 115 } }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": ":", "value": 58 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\/", "value": 47 }, { "type": "Character", "parent": "♻️../..", "start": 11, "end": 13, "raw": "\\/", "value": 47 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 15, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^\\d{3}-\\d{4}$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 16, "raw": "/^\\d{3}-\\d{4}$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 14, "raw": "^\\d{3}-\\d{4}$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 14, "raw": "^\\d{3}-\\d{4}$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 7, "raw": "\\d{3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "-", "value": 45 }, { "type": "Quantifier", "parent": "♻️../..", "start": 8, "end": 13, "raw": "\\d{4}", "min": 4, "max": 4, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 8, "end": 10, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Assertion", "parent": "♻️../..", "start": 13, "end": 14, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 15, "end": 16, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^\\d{1,3}(.\\d{1,3}){3}$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 25, "raw": "/^\\d{1,3}(.\\d{1,3}){3}$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 23, "raw": "^\\d{1,3}(.\\d{1,3}){3}$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 23, "raw": "^\\d{1,3}(.\\d{1,3}){3}$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 9, "raw": "\\d{1,3}", "min": 1, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Quantifier", "parent": "♻️../..", "start": 9, "end": 22, "raw": "(.\\d{1,3}){3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 9, "end": 19, "raw": "(.\\d{1,3})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 10, "end": 18, "raw": ".\\d{1,3}", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 10, "end": 11, "raw": ".", "kind": "any" }, { "type": "Quantifier", "parent": "♻️../..", "start": 11, "end": 18, "raw": "\\d{1,3}", "min": 1, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 11, "end": 13, "raw": "\\d", "kind": "digit", "negate": false } } ] } ], "references": [] } }, { "type": "Assertion", "parent": "♻️../..", "start": 22, "end": 23, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 24, "end": 25, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^([1-9][0-9]*|0)(\\.[0-9]+)?$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 31, "raw": "/^([1-9][0-9]*|0)(\\.[0-9]+)?$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 29, "raw": "^([1-9][0-9]*|0)(\\.[0-9]+)?$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 29, "raw": "^([1-9][0-9]*|0)(\\.[0-9]+)?$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 17, "raw": "([1-9][0-9]*|0)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 14, "raw": "[1-9][0-9]*", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 3, "end": 8, "raw": "[1-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "1-9", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "1", "value": 49 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "9", "value": 57 } } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 8, "end": 14, "raw": "[0-9]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 8, "end": 13, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 9, "end": 12, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "9", "value": 57 } } ] } } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 15, "end": 16, "raw": "0", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 15, "end": 16, "raw": "0", "value": 48 } ] } ], "references": [] }, { "type": "Quantifier", "parent": "♻️../..", "start": 17, "end": 28, "raw": "(\\.[0-9]+)?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 17, "end": 27, "raw": "(\\.[0-9]+)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 18, "end": 26, "raw": "\\.[0-9]+", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 18, "end": 20, "raw": "\\.", "value": 46 }, { "type": "Quantifier", "parent": "♻️../..", "start": 20, "end": 26, "raw": "[0-9]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 20, "end": 25, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 21, "end": 24, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 21, "end": 22, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 23, "end": 24, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] } }, { "type": "Assertion", "parent": "♻️../..", "start": 28, "end": 29, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 30, "end": 31, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^-?([1-9][0-9]*|0)(\\.[0-9]+)?$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 33, "raw": "/^-?([1-9][0-9]*|0)(\\.[0-9]+)?$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 31, "raw": "^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 31, "raw": "^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 4, "raw": "-?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "-", "value": 45 } }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 4, "end": 19, "raw": "([1-9][0-9]*|0)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 16, "raw": "[1-9][0-9]*", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 5, "end": 10, "raw": "[1-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "1-9", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "1", "value": 49 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "9", "value": 57 } } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 10, "end": 16, "raw": "[0-9]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 10, "end": 15, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 11, "end": 14, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 13, "end": 14, "raw": "9", "value": 57 } } ] } } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": "0", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "0", "value": 48 } ] } ], "references": [] }, { "type": "Quantifier", "parent": "♻️../..", "start": 19, "end": 30, "raw": "(\\.[0-9]+)?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 19, "end": 29, "raw": "(\\.[0-9]+)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 20, "end": 28, "raw": "\\.[0-9]+", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 20, "end": 22, "raw": "\\.", "value": 46 }, { "type": "Quantifier", "parent": "♻️../..", "start": 22, "end": 28, "raw": "[0-9]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 22, "end": 27, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 23, "end": 26, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 23, "end": 24, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 25, "end": 26, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] } }, { "type": "Assertion", "parent": "♻️../..", "start": 30, "end": 31, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 32, "end": 33, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[ぁ-んー]*$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/^[ぁ-んー]*$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "^[ぁ-んー]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "^[ぁ-んー]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 9, "raw": "[ぁ-んー]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 8, "raw": "[ぁ-んー]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "ぁ-ん", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "ぁ", "value": 12353 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "ん", "value": 12435 } }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "ー", "value": 12540 } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 9, "end": 10, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 12, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[ァ-ンヴー]*$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/^[ァ-ンヴー]*$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "^[ァ-ンヴー]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "^[ァ-ンヴー]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 10, "raw": "[ァ-ンヴー]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 9, "raw": "[ァ-ンヴー]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "ァ-ン", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "ァ", "value": 12449 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "ン", "value": 12531 } }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "ヴ", "value": 12532 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "ー", "value": 12540 } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 10, "end": 11, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 13, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[ァ-ン゙゚\\-]*$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 15, "raw": "/^[ァ-ン゙゚\\-]*$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "^[ァ-ン゙゚\\-]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "^[ァ-ン゙゚\\-]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 12, "raw": "[ァ-ン゙゚\\-]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 11, "raw": "[ァ-ン゙゚\\-]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "ァ-ン", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "ァ", "value": 65383 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "ン", "value": 65437 } }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "゙", "value": 65438 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "゚", "value": 65439 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 10, "raw": "\\-", "value": 45 } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 12, "end": 13, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 15, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[^\\x20-\\x7e]*$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 18, "raw": "/^[^\\x20-\\x7e]*$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 16, "raw": "^[^\\x20-\\x7e]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 16, "raw": "^[^\\x20-\\x7e]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 15, "raw": "[^\\x20-\\x7e]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 14, "raw": "[^\\x20-\\x7e]", "negate": true, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 13, "raw": "\\x20-\\x7e", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 8, "raw": "\\x20", "value": 32 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 13, "raw": "\\x7e", "value": 126 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 15, "end": 16, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 17, "end": 18, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 71, "raw": "/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 69, "raw": "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 69, "raw": "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 34, "raw": "[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 33, "raw": "[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 9, "end": 12, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "9", "value": 57 } }, { "type": "Character", "parent": "♻️../..", "start": 12, "end": 13, "raw": ".", "value": 46 }, { "type": "Character", "parent": "♻️../..", "start": 13, "end": 14, "raw": "!", "value": 33 }, { "type": "Character", "parent": "♻️../..", "start": 14, "end": 15, "raw": "#", "value": 35 }, { "type": "Character", "parent": "♻️../..", "start": 15, "end": 16, "raw": "$", "value": 36 }, { "type": "Character", "parent": "♻️../..", "start": 16, "end": 17, "raw": "%", "value": 37 }, { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "&", "value": 38 }, { "type": "Character", "parent": "♻️../..", "start": 18, "end": 19, "raw": "'", "value": 39 }, { "type": "Character", "parent": "♻️../..", "start": 19, "end": 20, "raw": "*", "value": 42 }, { "type": "Character", "parent": "♻️../..", "start": 20, "end": 21, "raw": "+", "value": 43 }, { "type": "Character", "parent": "♻️../..", "start": 21, "end": 22, "raw": "/", "value": 47 }, { "type": "Character", "parent": "♻️../..", "start": 22, "end": 23, "raw": "=", "value": 61 }, { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "?", "value": 63 }, { "type": "Character", "parent": "♻️../..", "start": 24, "end": 25, "raw": "^", "value": 94 }, { "type": "Character", "parent": "♻️../..", "start": 25, "end": 26, "raw": "_", "value": 95 }, { "type": "Character", "parent": "♻️../..", "start": 26, "end": 27, "raw": "`", "value": 96 }, { "type": "Character", "parent": "♻️../..", "start": 27, "end": 28, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 28, "end": 29, "raw": "|", "value": 124 }, { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "}", "value": 125 }, { "type": "Character", "parent": "♻️../..", "start": 30, "end": 31, "raw": "~", "value": 126 }, { "type": "Character", "parent": "♻️../..", "start": 31, "end": 32, "raw": "-", "value": 45 } ] } }, { "type": "Character", "parent": "♻️../..", "start": 34, "end": 35, "raw": "@", "value": 64 }, { "type": "Quantifier", "parent": "♻️../..", "start": 35, "end": 48, "raw": "[a-zA-Z0-9-]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 35, "end": 47, "raw": "[a-zA-Z0-9-]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 36, "end": 39, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 36, "end": 37, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 38, "end": 39, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 39, "end": 42, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 39, "end": 40, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 41, "end": 42, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 42, "end": 45, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 42, "end": 43, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 44, "end": 45, "raw": "9", "value": 57 } }, { "type": "Character", "parent": "♻️../..", "start": 45, "end": 46, "raw": "-", "value": 45 } ] } }, { "type": "Quantifier", "parent": "♻️../..", "start": 48, "end": 68, "raw": "(?:\\.[a-zA-Z0-9-]+)*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "Group", "parent": "♻️..", "start": 48, "end": 67, "raw": "(?:\\.[a-zA-Z0-9-]+)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 51, "end": 66, "raw": "\\.[a-zA-Z0-9-]+", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 51, "end": 53, "raw": "\\.", "value": 46 }, { "type": "Quantifier", "parent": "♻️../..", "start": 53, "end": 66, "raw": "[a-zA-Z0-9-]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 53, "end": 65, "raw": "[a-zA-Z0-9-]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 54, "end": 57, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 54, "end": 55, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 56, "end": 57, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 57, "end": 60, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 57, "end": 58, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 59, "end": 60, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 60, "end": 63, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 60, "end": 61, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 62, "end": 63, "raw": "9", "value": 57 } }, { "type": "Character", "parent": "♻️../..", "start": 63, "end": 64, "raw": "-", "value": 45 } ] } } ] } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 68, "end": 69, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 70, "end": 71, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 85, "raw": "/^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 83, "raw": "^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 69, "raw": "^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 33, "raw": "((4\\d{3})|(5[1-5]\\d{2})|(6011))", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 11, "raw": "(4\\d{3})", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 3, "end": 11, "raw": "(4\\d{3})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 10, "raw": "4\\d{3}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "4", "value": 52 }, { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 10, "raw": "\\d{3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 5, "end": 7, "raw": "\\d", "kind": "digit", "negate": false } } ] } ], "references": [] } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 12, "end": 25, "raw": "(5[1-5]\\d{2})", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 12, "end": 25, "raw": "(5[1-5]\\d{2})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 13, "end": 24, "raw": "5[1-5]\\d{2}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 13, "end": 14, "raw": "5", "value": 53 }, { "type": "CharacterClass", "parent": "♻️../..", "start": 14, "end": 19, "raw": "[1-5]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 15, "end": 18, "raw": "1-5", "min": { "type": "Character", "parent": "♻️..", "start": 15, "end": 16, "raw": "1", "value": 49 }, "max": { "type": "Character", "parent": "♻️..", "start": 17, "end": 18, "raw": "5", "value": 53 } } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 19, "end": 24, "raw": "\\d{2}", "min": 2, "max": 2, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 19, "end": 21, "raw": "\\d", "kind": "digit", "negate": false } } ] } ], "references": [] } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 26, "end": 32, "raw": "(6011)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 26, "end": 32, "raw": "(6011)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 27, "end": 31, "raw": "6011", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 27, "end": 28, "raw": "6", "value": 54 }, { "type": "Character", "parent": "♻️../..", "start": 28, "end": 29, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 30, "end": 31, "raw": "1", "value": 49 } ] } ], "references": [] } ] } ], "references": [] }, { "type": "Quantifier", "parent": "♻️../..", "start": 33, "end": 40, "raw": "([- ])?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 33, "end": 39, "raw": "([- ])", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 34, "end": 38, "raw": "[- ]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 34, "end": 38, "raw": "[- ]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 35, "end": 36, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 36, "end": 37, "raw": " ", "value": 32 } ] } ] } ], "references": [] } }, { "type": "Quantifier", "parent": "♻️../..", "start": 40, "end": 45, "raw": "\\d{4}", "min": 4, "max": 4, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 40, "end": 42, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Quantifier", "parent": "♻️../..", "start": 45, "end": 52, "raw": "([- ])?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 45, "end": 51, "raw": "([- ])", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 46, "end": 50, "raw": "[- ]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 46, "end": 50, "raw": "[- ]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 47, "end": 48, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 48, "end": 49, "raw": " ", "value": 32 } ] } ] } ], "references": [] } }, { "type": "Quantifier", "parent": "♻️../..", "start": 52, "end": 57, "raw": "\\d{4}", "min": 4, "max": 4, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 52, "end": 54, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Quantifier", "parent": "♻️../..", "start": 57, "end": 64, "raw": "([- ])?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 57, "end": 63, "raw": "([- ])", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 58, "end": 62, "raw": "[- ]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 58, "end": 62, "raw": "[- ]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 59, "end": 60, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 60, "end": 61, "raw": " ", "value": 32 } ] } ] } ], "references": [] } }, { "type": "Quantifier", "parent": "♻️../..", "start": 64, "end": 69, "raw": "\\d{4}", "min": 4, "max": 4, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 64, "end": 66, "raw": "\\d", "kind": "digit", "negate": false } } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 70, "end": 83, "raw": "3[4,7]\\d{13}$", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 70, "end": 71, "raw": "3", "value": 51 }, { "type": "CharacterClass", "parent": "♻️../..", "start": 71, "end": 76, "raw": "[4,7]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 72, "end": 73, "raw": "4", "value": 52 }, { "type": "Character", "parent": "♻️../..", "start": 73, "end": 74, "raw": ",", "value": 44 }, { "type": "Character", "parent": "♻️../..", "start": 74, "end": 75, "raw": "7", "value": 55 } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 76, "end": 82, "raw": "\\d{13}", "min": 13, "max": 13, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 76, "end": 78, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Assertion", "parent": "♻️../..", "start": 82, "end": 83, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 84, "end": 85, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^\\s*|\\s*$/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/^\\s*|\\s*$/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "^\\s*|\\s*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "^\\s*", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\s*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\s", "kind": "space", "negate": false } } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 10, "raw": "\\s*$", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 6, "end": 9, "raw": "\\s*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 6, "end": 8, "raw": "\\s", "kind": "space", "negate": false } }, { "type": "Assertion", "parent": "♻️../..", "start": 9, "end": 10, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 12, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } } } }regexpp-3.2.0/test/fixtures/parser/literal/basic-valid-2015.json000066400000000000000000017334341406163405500244270ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2015 }, "patterns": { "/foo/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/foo/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "foo", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "foo", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "f", "value": 102 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "o", "value": 111 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "o", "value": 111 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/foo|bar/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/foo|bar/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "foo|bar", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "foo", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "f", "value": 102 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "o", "value": 111 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "o", "value": 111 } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 8, "raw": "bar", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "b", "value": 98 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "r", "value": 114 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/||||/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/||||/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "||||", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 1, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 2, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 3, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 5, "raw": "", "elements": [] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^|$|\\b|\\B/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/^|$|\\b|\\B/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "^|$|\\b|\\B", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 4, "raw": "$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 3, "end": 4, "raw": "$", "kind": "end" } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 7, "raw": "\\b", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 5, "end": 7, "raw": "\\b", "kind": "word", "negate": false } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 10, "raw": "\\B", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 8, "end": 10, "raw": "\\B", "kind": "word", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/(?=)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "(?=)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?=)", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?=)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=foo)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/(?=foo)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "(?=foo)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?=foo)", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?=foo)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 7, "raw": "foo", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "f", "value": 102 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "o", "value": 111 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "o", "value": 111 } ] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?!)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/(?!)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "(?!)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?!)", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?!)", "kind": "lookahead", "negate": true, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?!foo)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/(?!foo)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "(?!foo)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?!foo)", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?!foo)", "kind": "lookahead", "negate": true, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 7, "raw": "foo", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "f", "value": 102 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "o", "value": 111 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "o", "value": 111 } ] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a)*/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(?=a)*/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "(?=a)*", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a)*", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a)*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "Assertion", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a)+/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(?=a)+/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "(?=a)+", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a)+", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a)+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "Assertion", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a)?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(?=a)?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "(?=a)?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a)?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a)?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Assertion", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a){/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(?=a){/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "(?=a){", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a){", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a){}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/(?=a){}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "(?=a){}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?=a){}", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a){a}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/(?=a){a}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "(?=a){a}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "(?=a){a}", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a){1}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/(?=a){1}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "(?=a){1}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "(?=a){1}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 9, "raw": "(?=a){1}", "min": 1, "max": 1, "greedy": true, "element": { "type": "Assertion", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a){1,}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/(?=a){1,}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "(?=a){1,}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "(?=a){1,}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 10, "raw": "(?=a){1,}", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "Assertion", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a){1,2}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/(?=a){1,2}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "(?=a){1,2}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "(?=a){1,2}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 11, "raw": "(?=a){1,2}", "min": 1, "max": 2, "greedy": true, "element": { "type": "Assertion", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 12, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a*/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/a*/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "a*", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a*", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a+/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/a+/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "a+", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a+", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/a?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "a?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/a{/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "a{", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a{", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a{}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a{}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a{}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{a}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a{a}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "a{a}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{a}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a{1}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "a{1}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{1}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{1}", "min": 1, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a{1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a{1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a{1", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{1,}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{1,}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1,}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1,}", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a{1,/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "a{1,", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{1,", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": ",", "value": 44 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,2}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/a{1,2}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "a{1,2}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,2}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,2}", "min": 1, "max": 2, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,2/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{1,2/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{1,2", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1,2", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": ",", "value": 44 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "2", "value": 50 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{2,1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{2,1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{2,1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{2,1", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": ",", "value": 44 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "1", "value": 49 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a*?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a*?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a*?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a*?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a*?", "min": 0, "max": "$$Infinity", "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a+?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a+?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a+?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a+?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a+?", "min": 1, "max": "$$Infinity", "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a??/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a??/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a??", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a??", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a??", "min": 0, "max": 1, "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a{?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a{?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a{?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 4, "raw": "{?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "{", "value": 123 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{}?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a{}?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "a{}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{}?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 5, "raw": "}?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "}", "value": 125 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{a}?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{a}?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{a}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{a}?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "a", "value": 97 }, { "type": "Quantifier", "parent": "♻️../..", "start": 4, "end": 6, "raw": "}?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "}", "value": 125 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1}?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{1}?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{1}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1}?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1}?", "min": 1, "max": 1, "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a{1?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "a{1?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{1?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 5, "raw": "1?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "1", "value": 49 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,}?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/a{1,}?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "a{1,}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,}?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,}?", "min": 1, "max": "$$Infinity", "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{1,?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{1,?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1,?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Quantifier", "parent": "♻️../..", "start": 4, "end": 6, "raw": ",?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": ",", "value": 44 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,2}?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/a{1,2}?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "a{1,2}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "a{1,2}?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 8, "raw": "a{1,2}?", "min": 1, "max": 2, "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,2?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/a{1,2?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "a{1,2?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,2?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": ",", "value": 44 }, { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 7, "raw": "2?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "2", "value": 50 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{2,1?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/a{2,1?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "a{2,1?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{2,1?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": ",", "value": 44 }, { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 7, "raw": "1?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "1", "value": 49 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/👍🚀❇️/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/👍🚀❇️/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "👍🚀❇️", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "👍🚀❇️", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "\ud83d", "value": 55357 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "\udc4d", "value": 56397 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "\ud83d", "value": 55357 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "\ude80", "value": 56960 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "❇", "value": 10055 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "️", "value": 65039 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/^/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "^", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/./": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/./", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": ".", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "kind": "any" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "]", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "]", "value": 93 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/{/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/{/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "{", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "{", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/|/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/|/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "|", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 1, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 2, "raw": "", "elements": [] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/${1,2/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/${1,2/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "${1,2", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "${1,2", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "$", "kind": "end" }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": ",", "value": 44 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "2", "value": 50 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\1", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\1", "value": 1 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)\\1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/(a)\\1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "(a)\\1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(a)\\1", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 4, "end": 6, "raw": "\\1", "ref": 1, "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\1(a)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/\\1(a)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "\\1(a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\1(a)", "elements": [ { "type": "Backreference", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\1", "ref": 1, "resolved": "♻️../1" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 3, "end": 6, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../0" ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:a)\\1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/(?:a)\\1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "(?:a)\\1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?:a)\\1", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?:a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 8, "raw": "\\1", "value": 1 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)\\2/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/(a)\\2/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "(a)\\2", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(a)\\2", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 6, "raw": "\\2", "value": 2 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:a)\\2/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/(?:a)\\2/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "(?:a)\\2", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?:a)\\2", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?:a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 8, "raw": "\\2", "value": 2 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 35, "raw": "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 34, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 34, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 4, "end": 7, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 7, "end": 10, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 10, "end": 13, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 13, "end": 16, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 16, "end": 19, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 19, "end": 22, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 22, "end": 25, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 25, "end": 28, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 28, "end": 31, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../10" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 31, "end": 34, "raw": "\\10", "ref": 10, "resolved": "♻️../9" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 35, "end": 35, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 35, "raw": "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 34, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 34, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 4, "end": 7, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 7, "end": 10, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 10, "end": 13, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 13, "end": 16, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 16, "end": 19, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 19, "end": 22, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 22, "end": 25, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 25, "end": 28, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 28, "end": 31, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "Character", "parent": "♻️../..", "start": 31, "end": 34, "raw": "\\11", "value": 9 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 35, "end": 35, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 38, "raw": "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 37, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 37, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 4, "end": 7, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 7, "end": 10, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 10, "end": 13, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 13, "end": 16, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 16, "end": 19, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 19, "end": 22, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 22, "end": 25, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 25, "end": 28, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 28, "end": 31, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 31, "end": 34, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 32, "end": 33, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 32, "end": 33, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../11" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 34, "end": 37, "raw": "\\11", "ref": 11, "resolved": "♻️../10" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 38, "end": 38, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:a)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/(?:a)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?:a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?:a)", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?:a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\d/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\d/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\d", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\d", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\d", "kind": "digit", "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\D/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\D/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\D", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\D", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\D", "kind": "digit", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\s/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\s/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\s", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\s", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\s", "kind": "space", "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\S/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\S/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\S", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\S", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\S", "kind": "space", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\w/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\w/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\w", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\w", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\w", "kind": "word", "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\W/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\W/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\W", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\W", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\W", "kind": "word", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\f/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\f/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\f", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\f", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\f", "value": 12 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\n/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\n/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\n", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\n", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\n", "value": 10 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\r/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\r/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\r", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\r", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\r", "value": 13 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\t/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\t/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\t", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\t", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\t", "value": 9 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\v/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\v/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\v", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\v", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\v", "value": 11 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\cA/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\cA/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\cA", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\cA", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\cA", "value": 1 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\cz/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\cz/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\cz", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\cz", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\cz", "value": 26 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\c1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\c1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\c1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\c1", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "\\", "value": 92 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "c", "value": 99 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\c/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\c/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\c", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\c", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "\\", "value": 92 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "c", "value": 99 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\0/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\0/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\0", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\0", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\0", "value": 0 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\u/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\u", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\u1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\u1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\u1", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u12/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/\\u12/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "\\u12", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "\\u12", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "2", "value": 50 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u123/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/\\u123/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "\\u123", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\u123", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "3", "value": 51 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u1234/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/\\u1234/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "\\u1234", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u1234", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u1234", "value": 4660 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u12345/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/\\u12345/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "\\u12345", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "\\u12345", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u1234", "value": 4660 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "5", "value": 53 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\u{/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\u{", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\u{", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{z/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/\\u{z/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "\\u{z", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "\\u{z", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "z", "value": 122 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{a}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/\\u{a}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "\\u{a}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\u{a}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{20/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/\\u{20/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "\\u{20", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\u{20", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "0", "value": 48 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{20}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/\\u{20}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "\\u{20}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u{20}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u{20}", "min": 20, "max": 20, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\u", "value": 117 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{10FFFF}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/\\u{10FFFF}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "\\u{10FFFF}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "\\u{10FFFF}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 10, "end": 11, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 12, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{110000}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/\\u{110000}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "\\u{110000}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "\\u{110000}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 11, "raw": "\\u{110000}", "min": 110000, "max": 110000, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\u", "value": 117 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 12, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{00000001}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/\\u{00000001}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "\\u{00000001}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "\\u{00000001}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 13, "raw": "\\u{00000001}", "min": 1, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\u", "value": 117 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\377/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/\\377/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "\\377", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "\\377", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 5, "raw": "\\377", "value": 255 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\400/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/\\400/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "\\400", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "\\400", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\40", "value": 32 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "0", "value": 48 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\^/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\^/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\^", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\^", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\^", "value": 94 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\$", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\$", "value": 36 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\./": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\./", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\.", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\.", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\.", "value": 46 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\+/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\+/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\+", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\+", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\+", "value": 43 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\?", "value": 63 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\(/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\(/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\(", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\(", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\(", "value": 40 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\)", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\)", "value": 41 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\[/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\[/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\[", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\[", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\[", "value": 91 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\]", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\]", "value": 93 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\{/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\{/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\{", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\{", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\|/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\|/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\|", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\|", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\|", "value": 124 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\//": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\//", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\/", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\/", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\/", "value": 47 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\a/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\a/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\a", "value": 97 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/[]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "[]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "[]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 3, "raw": "[]", "negate": false, "elements": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[^-a-b-]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[^-a-b-]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[^-a-b-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[^-a-b-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[^-a-b-]", "negate": true, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "-", "value": 45 }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "a-b", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "b", "value": 98 } }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[-]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/[-]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "[-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "[-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 4, "raw": "[-]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[a]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/[a]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "[a]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "[a]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 4, "raw": "[a]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[--]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[--]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[--]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[--]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[--]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[-a]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[-a]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[-a]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[-a]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[-a]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "a", "value": 97 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[-a-]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[-a-]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[-a-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[-a-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[-a-]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[a-]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[a-]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[a-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[a-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[a-]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[a-b]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[a-b]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[a-b]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[a-b]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[a-b]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 5, "raw": "a-b", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "b", "value": 98 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[-a-b-]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[-a-b-]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[-a-b-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[-a-b-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[-a-b-]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-b", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "b", "value": 98 } }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[---]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[---]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[---]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[---]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[---]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 5, "raw": "---", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "-", "value": 45 }, "max": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "-", "value": 45 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[a-b--/]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[a-b--/]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[a-b--/]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[a-b--/]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[a-b--/]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 5, "raw": "a-b", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "b", "value": 98 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 5, "end": 8, "raw": "--/", "min": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "-", "value": 45 }, "max": { "type": "Character", "parent": "♻️..", "start": 7, "end": 8, "raw": "/", "value": 47 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\b-\\n]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\b-\\n]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\b-\\n]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\b-\\n]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\b-\\n]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 7, "raw": "\\b-\\n", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\b", "value": 8 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 7, "raw": "\\n", "value": 10 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[b\\-a]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[b\\-a]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[b\\-a]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[b\\-a]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[b\\-a]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "b", "value": 98 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 5, "raw": "\\-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\d]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\d]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\d]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\d]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\d]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\D]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\D]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\D]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\D]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\D]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\D", "kind": "digit", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\s]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\s]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\s]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\s]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\s]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\s", "kind": "space", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\S]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\S]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\S]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\S]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\S]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\S", "kind": "space", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\w]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\w]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\w]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\w]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\w]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\w", "kind": "word", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\W]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\W]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\W]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\W]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\W]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\W", "kind": "word", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\f]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\f]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\f]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\f]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\f]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\f", "value": 12 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\n]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\n]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\n]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\n]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\n]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\n", "value": 10 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\r]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\r]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\r]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\r]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\r]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\r", "value": 13 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\t]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\t]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\t]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\t]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\t]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\t", "value": 9 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\v]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\v]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\v]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\v]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\v]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\v", "value": 11 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\cA]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\cA]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\cA]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\cA]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\cA]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\cA", "value": 1 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\cz]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\cz]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\cz]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\cz]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\cz]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\cz", "value": 26 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\c1]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\c1]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\c1]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\c1]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\c1]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\c1", "value": 17 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\c]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\c]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\c]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\c]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\c]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "\\", "value": 92 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "c", "value": 99 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\0]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\0]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\0]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\0]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\0]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\0", "value": 0 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\x]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\x]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\x]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\x]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\x]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\x", "value": 120 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\xz]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\xz]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\xz]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\xz]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\xz]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\x", "value": 120 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "z", "value": 122 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\x1]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\x1]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\x1]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\x1]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\x1]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\x", "value": 120 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "1", "value": 49 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\x12]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[\\x12]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[\\x12]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\x12]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\x12]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 6, "raw": "\\x12", "value": 18 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\x123]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\x123]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\x123]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\x123]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\x123]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 6, "raw": "\\x12", "value": 18 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "3", "value": 51 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\u]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\u]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\u]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\u]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u1]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\u1]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\u1]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\u1]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\u1]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "1", "value": 49 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u12]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[\\u12]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[\\u12]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\u12]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\u12]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "2", "value": 50 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u123]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\u123]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\u123]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u123]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u123]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "3", "value": 51 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u1234]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[\\u1234]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[\\u1234]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[\\u1234]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[\\u1234]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u1234", "value": 4660 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u12345]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/[\\u12345]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "[\\u12345]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "[\\u12345]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 10, "raw": "[\\u12345]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u1234", "value": 4660 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "5", "value": 53 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\u{]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\u{]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\u{]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\u{]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{z]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[\\u{z]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[\\u{z]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\u{z]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\u{z]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "z", "value": 122 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{a}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\u{a}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\u{a}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u{a}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u{a}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{20]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\u{20]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\u{20]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u{20]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u{20]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "0", "value": 48 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{20}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[\\u{20}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[\\u{20}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[\\u{20}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[\\u{20}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{10FFFF}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/[\\u{10FFFF}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "[\\u{10FFFF}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{10FFFF}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{10FFFF}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 10, "end": 11, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{110000}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/[\\u{110000}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "[\\u{110000}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{110000}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{110000}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 10, "end": 11, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{00000001}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 16, "raw": "/[\\u{00000001}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 15, "raw": "[\\u{00000001}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 15, "raw": "[\\u{00000001}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 15, "raw": "[\\u{00000001}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 10, "end": 11, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 12, "end": 13, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 13, "end": 14, "raw": "}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 16, "end": 16, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\77]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\77]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\77]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\77]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\77]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\77", "value": 63 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\377]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[\\377]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[\\377]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\377]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\377]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 6, "raw": "\\377", "value": 255 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\400]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[\\400]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[\\400]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\400]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\400]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\40", "value": 32 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "0", "value": 48 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\^]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\^]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\^]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\^]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\^]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\^", "value": 94 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\$]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\$]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\$]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\$]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\$]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\$", "value": 36 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\.]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\.]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\.]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\.]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\.]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\.", "value": 46 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\+]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\+]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\+]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\+]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\+]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\+", "value": 43 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\?]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\?]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\?]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\?]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\?]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\?", "value": 63 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\(]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\(]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\(]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\(]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\(]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\(", "value": 40 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\)]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\)]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\)]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\)]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\)]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\)", "value": 41 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\[]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\[]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\[]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\[]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\[]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\[", "value": 91 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\]]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\]]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\]]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\]]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\]]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\]", "value": 93 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\{]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\{]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\{]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\{]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\{]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\{", "value": 123 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\|]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\|]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\|]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\|]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\|]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\|", "value": 124 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\/]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\/]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\/]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\/]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\/]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\/", "value": 47 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\a]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\a]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\a]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\a]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\a]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\a", "value": 97 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\d-\\uFFFF]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\d-\\uFFFF]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\d-\\uFFFF]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\d-\\uFFFF]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\d-\\uFFFF]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 11, "raw": "\\uFFFF", "value": 65535 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\D-\\uFFFF]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\D-\\uFFFF]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\D-\\uFFFF]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\D-\\uFFFF]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\D-\\uFFFF]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\D", "kind": "digit", "negate": true }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 11, "raw": "\\uFFFF", "value": 65535 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\s-\\uFFFF]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\s-\\uFFFF]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\s-\\uFFFF]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\s-\\uFFFF]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\s-\\uFFFF]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\s", "kind": "space", "negate": false }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 11, "raw": "\\uFFFF", "value": 65535 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\S-\\uFFFF]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\S-\\uFFFF]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\S-\\uFFFF]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\S-\\uFFFF]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\S-\\uFFFF]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\S", "kind": "space", "negate": true }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 11, "raw": "\\uFFFF", "value": 65535 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\w-\\uFFFF]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\w-\\uFFFF]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\w-\\uFFFF]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\w-\\uFFFF]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\w-\\uFFFF]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\w", "kind": "word", "negate": false }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 11, "raw": "\\uFFFF", "value": 65535 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\W-\\uFFFF]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\W-\\uFFFF]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\W-\\uFFFF]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\W-\\uFFFF]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\W-\\uFFFF]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\W", "kind": "word", "negate": true }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 11, "raw": "\\uFFFF", "value": 65535 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\d]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\u0000-\\d]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\u0000-\\d]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\d]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\d]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\d", "kind": "digit", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\D]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\u0000-\\D]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\u0000-\\D]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\D]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\D]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\D", "kind": "digit", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\s]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\u0000-\\s]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\u0000-\\s]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\s]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\s]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\s", "kind": "space", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\S]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\u0000-\\S]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\u0000-\\S]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\S]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\S]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\S", "kind": "space", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\w]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\u0000-\\w]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\u0000-\\w]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\w]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\w]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\w", "kind": "word", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\W]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\u0000-\\W]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\u0000-\\W]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\W]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\W]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\W", "kind": "word", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\u0001]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 17, "raw": "/[\\u0000-\\u0001]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 16, "raw": "[\\u0000-\\u0001]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 16, "raw": "[\\u0000-\\u0001]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 16, "raw": "[\\u0000-\\u0001]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 15, "raw": "\\u0000-\\u0001", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 15, "raw": "\\u0001", "value": 1 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 17, "end": 17, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{2-\\u{1}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/[\\u{2-\\u{1}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "[\\u{2-\\u{1}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{2-\\u{1}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{2-\\u{1}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 5, "end": 9, "raw": "2-\\u", "min": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "2", "value": 50 }, "max": { "type": "Character", "parent": "♻️..", "start": 7, "end": 9, "raw": "\\u", "value": 117 } }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 10, "end": 11, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\a-\\z]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\a-\\z]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\a-\\z]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\a-\\z]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\a-\\z]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 7, "raw": "\\a-\\z", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 7, "raw": "\\z", "value": 122 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[0-9--/]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[0-9--/]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[0-9--/]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[0-9--/]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[0-9--/]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 5, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "9", "value": 57 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 5, "end": 8, "raw": "--/", "min": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "-", "value": 45 }, "max": { "type": "Character", "parent": "♻️..", "start": 7, "end": 8, "raw": "/", "value": 47 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\c0-\u001f]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\c0-\u001f]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\c0-\u001f]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\c0-\u001f]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\c0-\u001f]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 7, "raw": "\\c0-\u001f", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 5, "raw": "\\c0", "value": 16 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "\u001f", "value": 31 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\c_]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\c_]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\c_]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\c_]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\c_]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\c_", "value": 31 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[0-9]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/^[0-9]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "^[0-9]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "^[0-9]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 8, "raw": "[0-9]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 7, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "9", "value": 57 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 8, "end": 9, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[0-9]+$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/^[0-9]+$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "^[0-9]+$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "^[0-9]+$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 8, "raw": "[0-9]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 7, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "9", "value": 57 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 8, "end": 9, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[a-zA-Z]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/^[a-zA-Z]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "^[a-zA-Z]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "^[a-zA-Z]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 11, "raw": "[a-zA-Z]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 10, "raw": "[a-zA-Z]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "Z", "value": 90 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 11, "end": 12, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[a-zA-Z]+$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/^[a-zA-Z]+$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "^[a-zA-Z]+$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "^[a-zA-Z]+$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 11, "raw": "[a-zA-Z]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 10, "raw": "[a-zA-Z]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "Z", "value": 90 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 11, "end": 12, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[0-9a-zA-Z]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 16, "raw": "/^[0-9a-zA-Z]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 15, "raw": "^[0-9a-zA-Z]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 15, "raw": "^[0-9a-zA-Z]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 14, "raw": "[0-9a-zA-Z]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 13, "raw": "[0-9a-zA-Z]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "9", "value": 57 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 9, "end": 12, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "Z", "value": 90 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 14, "end": 15, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 16, "end": 16, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[a-zA-Z0-9!-/:-@\\[-`{-~]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 29, "raw": "/^[a-zA-Z0-9!-/:-@\\[-`{-~]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 28, "raw": "^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 28, "raw": "^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 27, "raw": "[a-zA-Z0-9!-/:-@\\[-`{-~]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 26, "raw": "[a-zA-Z0-9!-/:-@\\[-`{-~]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 9, "end": 12, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "9", "value": 57 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 12, "end": 15, "raw": "!-/", "min": { "type": "Character", "parent": "♻️..", "start": 12, "end": 13, "raw": "!", "value": 33 }, "max": { "type": "Character", "parent": "♻️..", "start": 14, "end": 15, "raw": "/", "value": 47 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 15, "end": 18, "raw": ":-@", "min": { "type": "Character", "parent": "♻️..", "start": 15, "end": 16, "raw": ":", "value": 58 }, "max": { "type": "Character", "parent": "♻️..", "start": 17, "end": 18, "raw": "@", "value": 64 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 18, "end": 22, "raw": "\\[-`", "min": { "type": "Character", "parent": "♻️..", "start": 18, "end": 20, "raw": "\\[", "value": 91 }, "max": { "type": "Character", "parent": "♻️..", "start": 21, "end": 22, "raw": "`", "value": 96 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 22, "end": 25, "raw": "{-~", "min": { "type": "Character", "parent": "♻️..", "start": 22, "end": 23, "raw": "{", "value": 123 }, "max": { "type": "Character", "parent": "♻️..", "start": 24, "end": 25, "raw": "~", "value": 126 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 27, "end": 28, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 29, "end": 29, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^([a-zA-Z0-9]{8,})$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 21, "raw": "/^([a-zA-Z0-9]{8,})$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 20, "raw": "^([a-zA-Z0-9]{8,})$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 20, "raw": "^([a-zA-Z0-9]{8,})$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 19, "raw": "([a-zA-Z0-9]{8,})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 18, "raw": "[a-zA-Z0-9]{8,}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 18, "raw": "[a-zA-Z0-9]{8,}", "min": 8, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 3, "end": 14, "raw": "[a-zA-Z0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 7, "end": 10, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 7, "end": 8, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 10, "end": 13, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 10, "end": 11, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 12, "end": 13, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] }, { "type": "Assertion", "parent": "♻️../..", "start": 19, "end": 20, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 21, "end": 21, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^([a-zA-Z0-9]{6,8})$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 22, "raw": "/^([a-zA-Z0-9]{6,8})$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 21, "raw": "^([a-zA-Z0-9]{6,8})$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 21, "raw": "^([a-zA-Z0-9]{6,8})$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 20, "raw": "([a-zA-Z0-9]{6,8})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 19, "raw": "[a-zA-Z0-9]{6,8}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 19, "raw": "[a-zA-Z0-9]{6,8}", "min": 6, "max": 8, "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 3, "end": 14, "raw": "[a-zA-Z0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 7, "end": 10, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 7, "end": 8, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 10, "end": 13, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 10, "end": 11, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 12, "end": 13, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] }, { "type": "Assertion", "parent": "♻️../..", "start": 20, "end": 21, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 22, "end": 22, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^([0-9]{0,8})$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 16, "raw": "/^([0-9]{0,8})$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 15, "raw": "^([0-9]{0,8})$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 15, "raw": "^([0-9]{0,8})$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 14, "raw": "([0-9]{0,8})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 13, "raw": "[0-9]{0,8}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 13, "raw": "[0-9]{0,8}", "min": 0, "max": 8, "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 3, "end": 8, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] }, { "type": "Assertion", "parent": "♻️../..", "start": 14, "end": 15, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 16, "end": 16, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[0-9]{8}$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/^[0-9]{8}$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "^[0-9]{8}$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "^[0-9]{8}$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 10, "raw": "[0-9]{8}", "min": 8, "max": 8, "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 7, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "9", "value": 57 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 10, "end": 11, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 12, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^https?:\\/\\//": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/^https?:\\/\\//", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "^https?:\\/\\/", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "^https?:\\/\\/", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "h", "value": 104 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "t", "value": 116 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "t", "value": 116 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "p", "value": 112 }, { "type": "Quantifier", "parent": "♻️../..", "start": 6, "end": 8, "raw": "s?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "s", "value": 115 } }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": ":", "value": 58 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\/", "value": 47 }, { "type": "Character", "parent": "♻️../..", "start": 11, "end": 13, "raw": "\\/", "value": 47 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^\\d{3}-\\d{4}$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 15, "raw": "/^\\d{3}-\\d{4}$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 14, "raw": "^\\d{3}-\\d{4}$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 14, "raw": "^\\d{3}-\\d{4}$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 7, "raw": "\\d{3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "-", "value": 45 }, { "type": "Quantifier", "parent": "♻️../..", "start": 8, "end": 13, "raw": "\\d{4}", "min": 4, "max": 4, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 8, "end": 10, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Assertion", "parent": "♻️../..", "start": 13, "end": 14, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 15, "end": 15, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^\\d{1,3}(.\\d{1,3}){3}$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 24, "raw": "/^\\d{1,3}(.\\d{1,3}){3}$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 23, "raw": "^\\d{1,3}(.\\d{1,3}){3}$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 23, "raw": "^\\d{1,3}(.\\d{1,3}){3}$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 9, "raw": "\\d{1,3}", "min": 1, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Quantifier", "parent": "♻️../..", "start": 9, "end": 22, "raw": "(.\\d{1,3}){3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 9, "end": 19, "raw": "(.\\d{1,3})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 10, "end": 18, "raw": ".\\d{1,3}", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 10, "end": 11, "raw": ".", "kind": "any" }, { "type": "Quantifier", "parent": "♻️../..", "start": 11, "end": 18, "raw": "\\d{1,3}", "min": 1, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 11, "end": 13, "raw": "\\d", "kind": "digit", "negate": false } } ] } ], "references": [] } }, { "type": "Assertion", "parent": "♻️../..", "start": 22, "end": 23, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 24, "end": 24, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^([1-9][0-9]*|0)(\\.[0-9]+)?$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 30, "raw": "/^([1-9][0-9]*|0)(\\.[0-9]+)?$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 29, "raw": "^([1-9][0-9]*|0)(\\.[0-9]+)?$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 29, "raw": "^([1-9][0-9]*|0)(\\.[0-9]+)?$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 17, "raw": "([1-9][0-9]*|0)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 14, "raw": "[1-9][0-9]*", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 3, "end": 8, "raw": "[1-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "1-9", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "1", "value": 49 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "9", "value": 57 } } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 8, "end": 14, "raw": "[0-9]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 8, "end": 13, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 9, "end": 12, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "9", "value": 57 } } ] } } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 15, "end": 16, "raw": "0", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 15, "end": 16, "raw": "0", "value": 48 } ] } ], "references": [] }, { "type": "Quantifier", "parent": "♻️../..", "start": 17, "end": 28, "raw": "(\\.[0-9]+)?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 17, "end": 27, "raw": "(\\.[0-9]+)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 18, "end": 26, "raw": "\\.[0-9]+", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 18, "end": 20, "raw": "\\.", "value": 46 }, { "type": "Quantifier", "parent": "♻️../..", "start": 20, "end": 26, "raw": "[0-9]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 20, "end": 25, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 21, "end": 24, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 21, "end": 22, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 23, "end": 24, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] } }, { "type": "Assertion", "parent": "♻️../..", "start": 28, "end": 29, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 30, "end": 30, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^-?([1-9][0-9]*|0)(\\.[0-9]+)?$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 32, "raw": "/^-?([1-9][0-9]*|0)(\\.[0-9]+)?$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 31, "raw": "^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 31, "raw": "^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 4, "raw": "-?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "-", "value": 45 } }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 4, "end": 19, "raw": "([1-9][0-9]*|0)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 16, "raw": "[1-9][0-9]*", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 5, "end": 10, "raw": "[1-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "1-9", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "1", "value": 49 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "9", "value": 57 } } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 10, "end": 16, "raw": "[0-9]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 10, "end": 15, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 11, "end": 14, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 13, "end": 14, "raw": "9", "value": 57 } } ] } } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": "0", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "0", "value": 48 } ] } ], "references": [] }, { "type": "Quantifier", "parent": "♻️../..", "start": 19, "end": 30, "raw": "(\\.[0-9]+)?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 19, "end": 29, "raw": "(\\.[0-9]+)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 20, "end": 28, "raw": "\\.[0-9]+", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 20, "end": 22, "raw": "\\.", "value": 46 }, { "type": "Quantifier", "parent": "♻️../..", "start": 22, "end": 28, "raw": "[0-9]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 22, "end": 27, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 23, "end": 26, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 23, "end": 24, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 25, "end": 26, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] } }, { "type": "Assertion", "parent": "♻️../..", "start": 30, "end": 31, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 32, "end": 32, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[ぁ-んー]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/^[ぁ-んー]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "^[ぁ-んー]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "^[ぁ-んー]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 9, "raw": "[ぁ-んー]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 8, "raw": "[ぁ-んー]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "ぁ-ん", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "ぁ", "value": 12353 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "ん", "value": 12435 } }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "ー", "value": 12540 } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 9, "end": 10, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[ァ-ンヴー]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/^[ァ-ンヴー]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "^[ァ-ンヴー]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "^[ァ-ンヴー]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 10, "raw": "[ァ-ンヴー]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 9, "raw": "[ァ-ンヴー]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "ァ-ン", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "ァ", "value": 12449 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "ン", "value": 12531 } }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "ヴ", "value": 12532 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "ー", "value": 12540 } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 10, "end": 11, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 12, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[ァ-ン゙゚\\-]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/^[ァ-ン゙゚\\-]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "^[ァ-ン゙゚\\-]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "^[ァ-ン゙゚\\-]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 12, "raw": "[ァ-ン゙゚\\-]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 11, "raw": "[ァ-ン゙゚\\-]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "ァ-ン", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "ァ", "value": 65383 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "ン", "value": 65437 } }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "゙", "value": 65438 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "゚", "value": 65439 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 10, "raw": "\\-", "value": 45 } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 12, "end": 13, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[^\\x20-\\x7e]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 17, "raw": "/^[^\\x20-\\x7e]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 16, "raw": "^[^\\x20-\\x7e]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 16, "raw": "^[^\\x20-\\x7e]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 15, "raw": "[^\\x20-\\x7e]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 14, "raw": "[^\\x20-\\x7e]", "negate": true, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 13, "raw": "\\x20-\\x7e", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 8, "raw": "\\x20", "value": 32 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 13, "raw": "\\x7e", "value": 126 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 15, "end": 16, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 17, "end": 17, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 70, "raw": "/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 69, "raw": "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 69, "raw": "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 34, "raw": "[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 33, "raw": "[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 9, "end": 12, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "9", "value": 57 } }, { "type": "Character", "parent": "♻️../..", "start": 12, "end": 13, "raw": ".", "value": 46 }, { "type": "Character", "parent": "♻️../..", "start": 13, "end": 14, "raw": "!", "value": 33 }, { "type": "Character", "parent": "♻️../..", "start": 14, "end": 15, "raw": "#", "value": 35 }, { "type": "Character", "parent": "♻️../..", "start": 15, "end": 16, "raw": "$", "value": 36 }, { "type": "Character", "parent": "♻️../..", "start": 16, "end": 17, "raw": "%", "value": 37 }, { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "&", "value": 38 }, { "type": "Character", "parent": "♻️../..", "start": 18, "end": 19, "raw": "'", "value": 39 }, { "type": "Character", "parent": "♻️../..", "start": 19, "end": 20, "raw": "*", "value": 42 }, { "type": "Character", "parent": "♻️../..", "start": 20, "end": 21, "raw": "+", "value": 43 }, { "type": "Character", "parent": "♻️../..", "start": 21, "end": 22, "raw": "/", "value": 47 }, { "type": "Character", "parent": "♻️../..", "start": 22, "end": 23, "raw": "=", "value": 61 }, { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "?", "value": 63 }, { "type": "Character", "parent": "♻️../..", "start": 24, "end": 25, "raw": "^", "value": 94 }, { "type": "Character", "parent": "♻️../..", "start": 25, "end": 26, "raw": "_", "value": 95 }, { "type": "Character", "parent": "♻️../..", "start": 26, "end": 27, "raw": "`", "value": 96 }, { "type": "Character", "parent": "♻️../..", "start": 27, "end": 28, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 28, "end": 29, "raw": "|", "value": 124 }, { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "}", "value": 125 }, { "type": "Character", "parent": "♻️../..", "start": 30, "end": 31, "raw": "~", "value": 126 }, { "type": "Character", "parent": "♻️../..", "start": 31, "end": 32, "raw": "-", "value": 45 } ] } }, { "type": "Character", "parent": "♻️../..", "start": 34, "end": 35, "raw": "@", "value": 64 }, { "type": "Quantifier", "parent": "♻️../..", "start": 35, "end": 48, "raw": "[a-zA-Z0-9-]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 35, "end": 47, "raw": "[a-zA-Z0-9-]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 36, "end": 39, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 36, "end": 37, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 38, "end": 39, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 39, "end": 42, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 39, "end": 40, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 41, "end": 42, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 42, "end": 45, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 42, "end": 43, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 44, "end": 45, "raw": "9", "value": 57 } }, { "type": "Character", "parent": "♻️../..", "start": 45, "end": 46, "raw": "-", "value": 45 } ] } }, { "type": "Quantifier", "parent": "♻️../..", "start": 48, "end": 68, "raw": "(?:\\.[a-zA-Z0-9-]+)*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "Group", "parent": "♻️..", "start": 48, "end": 67, "raw": "(?:\\.[a-zA-Z0-9-]+)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 51, "end": 66, "raw": "\\.[a-zA-Z0-9-]+", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 51, "end": 53, "raw": "\\.", "value": 46 }, { "type": "Quantifier", "parent": "♻️../..", "start": 53, "end": 66, "raw": "[a-zA-Z0-9-]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 53, "end": 65, "raw": "[a-zA-Z0-9-]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 54, "end": 57, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 54, "end": 55, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 56, "end": 57, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 57, "end": 60, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 57, "end": 58, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 59, "end": 60, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 60, "end": 63, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 60, "end": 61, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 62, "end": 63, "raw": "9", "value": 57 } }, { "type": "Character", "parent": "♻️../..", "start": 63, "end": 64, "raw": "-", "value": 45 } ] } } ] } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 68, "end": 69, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 70, "end": 70, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 84, "raw": "/^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 83, "raw": "^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 69, "raw": "^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 33, "raw": "((4\\d{3})|(5[1-5]\\d{2})|(6011))", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 11, "raw": "(4\\d{3})", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 3, "end": 11, "raw": "(4\\d{3})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 10, "raw": "4\\d{3}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "4", "value": 52 }, { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 10, "raw": "\\d{3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 5, "end": 7, "raw": "\\d", "kind": "digit", "negate": false } } ] } ], "references": [] } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 12, "end": 25, "raw": "(5[1-5]\\d{2})", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 12, "end": 25, "raw": "(5[1-5]\\d{2})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 13, "end": 24, "raw": "5[1-5]\\d{2}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 13, "end": 14, "raw": "5", "value": 53 }, { "type": "CharacterClass", "parent": "♻️../..", "start": 14, "end": 19, "raw": "[1-5]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 15, "end": 18, "raw": "1-5", "min": { "type": "Character", "parent": "♻️..", "start": 15, "end": 16, "raw": "1", "value": 49 }, "max": { "type": "Character", "parent": "♻️..", "start": 17, "end": 18, "raw": "5", "value": 53 } } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 19, "end": 24, "raw": "\\d{2}", "min": 2, "max": 2, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 19, "end": 21, "raw": "\\d", "kind": "digit", "negate": false } } ] } ], "references": [] } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 26, "end": 32, "raw": "(6011)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 26, "end": 32, "raw": "(6011)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 27, "end": 31, "raw": "6011", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 27, "end": 28, "raw": "6", "value": 54 }, { "type": "Character", "parent": "♻️../..", "start": 28, "end": 29, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 30, "end": 31, "raw": "1", "value": 49 } ] } ], "references": [] } ] } ], "references": [] }, { "type": "Quantifier", "parent": "♻️../..", "start": 33, "end": 40, "raw": "([- ])?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 33, "end": 39, "raw": "([- ])", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 34, "end": 38, "raw": "[- ]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 34, "end": 38, "raw": "[- ]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 35, "end": 36, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 36, "end": 37, "raw": " ", "value": 32 } ] } ] } ], "references": [] } }, { "type": "Quantifier", "parent": "♻️../..", "start": 40, "end": 45, "raw": "\\d{4}", "min": 4, "max": 4, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 40, "end": 42, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Quantifier", "parent": "♻️../..", "start": 45, "end": 52, "raw": "([- ])?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 45, "end": 51, "raw": "([- ])", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 46, "end": 50, "raw": "[- ]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 46, "end": 50, "raw": "[- ]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 47, "end": 48, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 48, "end": 49, "raw": " ", "value": 32 } ] } ] } ], "references": [] } }, { "type": "Quantifier", "parent": "♻️../..", "start": 52, "end": 57, "raw": "\\d{4}", "min": 4, "max": 4, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 52, "end": 54, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Quantifier", "parent": "♻️../..", "start": 57, "end": 64, "raw": "([- ])?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 57, "end": 63, "raw": "([- ])", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 58, "end": 62, "raw": "[- ]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 58, "end": 62, "raw": "[- ]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 59, "end": 60, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 60, "end": 61, "raw": " ", "value": 32 } ] } ] } ], "references": [] } }, { "type": "Quantifier", "parent": "♻️../..", "start": 64, "end": 69, "raw": "\\d{4}", "min": 4, "max": 4, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 64, "end": 66, "raw": "\\d", "kind": "digit", "negate": false } } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 70, "end": 83, "raw": "3[4,7]\\d{13}$", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 70, "end": 71, "raw": "3", "value": 51 }, { "type": "CharacterClass", "parent": "♻️../..", "start": 71, "end": 76, "raw": "[4,7]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 72, "end": 73, "raw": "4", "value": 52 }, { "type": "Character", "parent": "♻️../..", "start": 73, "end": 74, "raw": ",", "value": 44 }, { "type": "Character", "parent": "♻️../..", "start": 74, "end": 75, "raw": "7", "value": 55 } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 76, "end": 82, "raw": "\\d{13}", "min": 13, "max": 13, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 76, "end": 78, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Assertion", "parent": "♻️../..", "start": 82, "end": 83, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 84, "end": 84, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^\\s*|\\s*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/^\\s*|\\s*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "^\\s*|\\s*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "^\\s*", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\s*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\s", "kind": "space", "negate": false } } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 10, "raw": "\\s*$", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 6, "end": 9, "raw": "\\s*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 6, "end": 8, "raw": "\\s", "kind": "space", "negate": false } }, { "type": "Assertion", "parent": "♻️../..", "start": 9, "end": 10, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\d][\\12-\\14]{1,}[^\\d]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 24, "raw": "/[\\d][\\12-\\14]{1,}[^\\d]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 23, "raw": "[\\d][\\12-\\14]{1,}[^\\d]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 23, "raw": "[\\d][\\12-\\14]{1,}[^\\d]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\d]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 18, "raw": "[\\12-\\14]{1,}", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 5, "end": 14, "raw": "[\\12-\\14]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 13, "raw": "\\12-\\14", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 9, "raw": "\\12", "value": 10 }, "max": { "type": "Character", "parent": "♻️..", "start": 10, "end": 13, "raw": "\\14", "value": 12 } } ] } }, { "type": "CharacterClass", "parent": "♻️../..", "start": 18, "end": 23, "raw": "[^\\d]", "negate": true, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 20, "end": 22, "raw": "\\d", "kind": "digit", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 24, "end": 24, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } } } }regexpp-3.2.0/test/fixtures/parser/literal/basic-valid.json000066400000000000000000017426651406163405500240500ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 5 }, "patterns": { "/foo/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/foo/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "foo", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "foo", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "f", "value": 102 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "o", "value": 111 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "o", "value": 111 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/foo|bar/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/foo|bar/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "foo|bar", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "foo", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "f", "value": 102 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "o", "value": 111 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "o", "value": 111 } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 8, "raw": "bar", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "b", "value": 98 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "r", "value": 114 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/||||/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/||||/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "||||", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 1, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 2, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 3, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 5, "raw": "", "elements": [] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^|$|\\b|\\B/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/^|$|\\b|\\B/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "^|$|\\b|\\B", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 4, "raw": "$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 3, "end": 4, "raw": "$", "kind": "end" } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 7, "raw": "\\b", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 5, "end": 7, "raw": "\\b", "kind": "word", "negate": false } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 10, "raw": "\\B", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 8, "end": 10, "raw": "\\B", "kind": "word", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/(?=)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "(?=)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?=)", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?=)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=foo)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/(?=foo)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "(?=foo)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?=foo)", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?=foo)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 7, "raw": "foo", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "f", "value": 102 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "o", "value": 111 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "o", "value": 111 } ] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?!)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/(?!)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "(?!)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?!)", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?!)", "kind": "lookahead", "negate": true, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?!foo)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/(?!foo)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "(?!foo)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?!foo)", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?!foo)", "kind": "lookahead", "negate": true, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 7, "raw": "foo", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "f", "value": 102 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "o", "value": 111 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "o", "value": 111 } ] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a)*/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(?=a)*/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "(?=a)*", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a)*", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a)*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "Assertion", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a)+/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(?=a)+/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "(?=a)+", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a)+", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a)+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "Assertion", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a)?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(?=a)?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "(?=a)?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a)?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a)?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Assertion", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a){/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(?=a){/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "(?=a){", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?=a){", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a){}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/(?=a){}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "(?=a){}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?=a){}", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a){a}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/(?=a){a}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "(?=a){a}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "(?=a){a}", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a){1}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/(?=a){1}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "(?=a){1}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "(?=a){1}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 9, "raw": "(?=a){1}", "min": 1, "max": 1, "greedy": true, "element": { "type": "Assertion", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a){1,}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/(?=a){1,}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "(?=a){1,}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "(?=a){1,}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 10, "raw": "(?=a){1,}", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "Assertion", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?=a){1,2}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/(?=a){1,2}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "(?=a){1,2}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "(?=a){1,2}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 11, "raw": "(?=a){1,2}", "min": 1, "max": 2, "greedy": true, "element": { "type": "Assertion", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?=a)", "kind": "lookahead", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 12, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a*/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/a*/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "a*", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a*", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a+/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/a+/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "a+", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a+", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/a?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "a?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/a{/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "a{", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "a{", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a{}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a{}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a{}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{a}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a{a}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "a{a}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{a}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a{1}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "a{1}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{1}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{1}", "min": 1, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a{1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a{1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a{1", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{1,}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{1,}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1,}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1,}", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a{1,/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "a{1,", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{1,", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": ",", "value": 44 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,2}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/a{1,2}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "a{1,2}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,2}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,2}", "min": 1, "max": 2, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,2/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{1,2/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{1,2", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1,2", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": ",", "value": 44 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "2", "value": 50 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{2,1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{2,1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{2,1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{2,1", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": ",", "value": 44 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "1", "value": 49 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a*?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a*?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a*?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a*?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a*?", "min": 0, "max": "$$Infinity", "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a+?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a+?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a+?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a+?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a+?", "min": 1, "max": "$$Infinity", "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a??/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a??/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a??", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a??", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a??", "min": 0, "max": 1, "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/a{?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "a{?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "a{?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 4, "raw": "{?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "{", "value": 123 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{}?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a{}?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "a{}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{}?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 5, "raw": "}?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "}", "value": 125 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{a}?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{a}?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{a}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{a}?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "a", "value": 97 }, { "type": "Quantifier", "parent": "♻️../..", "start": 4, "end": 6, "raw": "}?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "}", "value": 125 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1}?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{1}?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{1}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1}?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1}?", "min": 1, "max": 1, "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/a{1?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "a{1?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "a{1?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 5, "raw": "1?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "1", "value": 49 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,}?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/a{1,}?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "a{1,}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,}?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,}?", "min": 1, "max": "$$Infinity", "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/a{1,?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "a{1,?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "a{1,?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Quantifier", "parent": "♻️../..", "start": 4, "end": 6, "raw": ",?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": ",", "value": 44 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,2}?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/a{1,2}?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "a{1,2}?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "a{1,2}?", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 8, "raw": "a{1,2}?", "min": 1, "max": 2, "greedy": false, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 2, "raw": "a", "value": 97 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{1,2?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/a{1,2?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "a{1,2?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{1,2?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": ",", "value": 44 }, { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 7, "raw": "2?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "2", "value": 50 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/a{2,1?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/a{2,1?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "a{2,1?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "a{2,1?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": ",", "value": 44 }, { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 7, "raw": "1?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "1", "value": 49 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/👍🚀❇️/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/👍🚀❇️/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "👍🚀❇️", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "👍🚀❇️", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "\ud83d", "value": 55357 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "\udc4d", "value": 56397 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "\ud83d", "value": 55357 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "\ude80", "value": 56960 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "❇", "value": 10055 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "️", "value": 65039 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/^/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "^", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/./": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/./", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": ".", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "kind": "any" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "]", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "]", "value": 93 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/{/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/{/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "{", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "{", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": "}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/|/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 3, "raw": "/|/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": "|", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 1, "raw": "", "elements": [] }, { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 2, "raw": "", "elements": [] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 3, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/${1,2/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/${1,2/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "${1,2", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "${1,2", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "$", "kind": "end" }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": ",", "value": 44 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "2", "value": 50 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\1", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\1", "value": 1 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)\\1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/(a)\\1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "(a)\\1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(a)\\1", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 4, "end": 6, "raw": "\\1", "ref": 1, "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\1(a)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/\\1(a)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "\\1(a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\1(a)", "elements": [ { "type": "Backreference", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\1", "ref": 1, "resolved": "♻️../1" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 3, "end": 6, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../0" ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:a)\\1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/(?:a)\\1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "(?:a)\\1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?:a)\\1", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?:a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 8, "raw": "\\1", "value": 1 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)\\2/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/(a)\\2/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "(a)\\2", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(a)\\2", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 6, "raw": "\\2", "value": 2 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:a)\\2/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/(?:a)\\2/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "(?:a)\\2", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?:a)\\2", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?:a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 8, "raw": "\\2", "value": 2 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 35, "raw": "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 34, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 34, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 4, "end": 7, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 7, "end": 10, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 10, "end": 13, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 13, "end": 16, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 16, "end": 19, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 19, "end": 22, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 22, "end": 25, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 25, "end": 28, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 28, "end": 31, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../10" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 31, "end": 34, "raw": "\\10", "ref": 10, "resolved": "♻️../9" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 35, "end": 35, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 35, "raw": "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 34, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 34, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 4, "end": 7, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 7, "end": 10, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 10, "end": 13, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 13, "end": 16, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 16, "end": 19, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 19, "end": 22, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 22, "end": 25, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 25, "end": 28, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 28, "end": 31, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "Character", "parent": "♻️../..", "start": 31, "end": 34, "raw": "\\11", "value": 9 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 35, "end": 35, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 38, "raw": "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 37, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 37, "raw": "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 4, "end": 7, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 7, "end": 10, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 10, "end": 13, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 13, "end": 16, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 16, "end": 19, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 19, "end": 22, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 20, "end": 21, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 22, "end": 25, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 25, "end": 28, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 26, "end": 27, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 28, "end": 31, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 31, "end": 34, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 32, "end": 33, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 32, "end": 33, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../11" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 34, "end": 37, "raw": "\\11", "ref": 11, "resolved": "♻️../10" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 38, "end": 38, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:a)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/(?:a)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?:a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?:a)", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?:a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\d/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\d/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\d", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\d", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\d", "kind": "digit", "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\D/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\D/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\D", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\D", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\D", "kind": "digit", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\s/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\s/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\s", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\s", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\s", "kind": "space", "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\S/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\S/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\S", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\S", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\S", "kind": "space", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\w/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\w/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\w", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\w", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\w", "kind": "word", "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\W/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\W/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\W", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\W", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\W", "kind": "word", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\f/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\f/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\f", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\f", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\f", "value": 12 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\n/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\n/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\n", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\n", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\n", "value": 10 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\r/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\r/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\r", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\r", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\r", "value": 13 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\t/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\t/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\t", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\t", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\t", "value": 9 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\v/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\v/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\v", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\v", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\v", "value": 11 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\cA/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\cA/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\cA", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\cA", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\cA", "value": 1 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\cz/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\cz/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\cz", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\cz", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\cz", "value": 26 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\c1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\c1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\c1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\c1", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "\\", "value": 92 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "c", "value": 99 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\c/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\c/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\c", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\c", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 2, "raw": "\\", "value": 92 }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "c", "value": 99 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\0/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\0/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\0", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\0", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\0", "value": 0 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\u/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\u", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\u1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\u1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\u1", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u12/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/\\u12/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "\\u12", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "\\u12", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "2", "value": 50 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u123/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/\\u123/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "\\u123", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\u123", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "3", "value": 51 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u1234/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/\\u1234/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "\\u1234", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u1234", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u1234", "value": 4660 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u12345/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/\\u12345/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "\\u12345", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "\\u12345", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u1234", "value": 4660 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "5", "value": 53 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\u{/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\u{", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\u{", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{z/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/\\u{z/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "\\u{z", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "\\u{z", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "z", "value": 122 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{a}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/\\u{a}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "\\u{a}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\u{a}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{20/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/\\u{20/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "\\u{20", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\u{20", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "0", "value": 48 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{20}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/\\u{20}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "\\u{20}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u{20}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 7, "raw": "\\u{20}", "min": 20, "max": 20, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\u", "value": 117 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{10FFFF}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/\\u{10FFFF}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "\\u{10FFFF}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "\\u{10FFFF}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 10, "end": 11, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 12, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{110000}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/\\u{110000}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "\\u{110000}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "\\u{110000}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 11, "raw": "\\u{110000}", "min": 110000, "max": 110000, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\u", "value": 117 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 12, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\u{00000001}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/\\u{00000001}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "\\u{00000001}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "\\u{00000001}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 13, "raw": "\\u{00000001}", "min": 1, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\u", "value": 117 } } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\377/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/\\377/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "\\377", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "\\377", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 5, "raw": "\\377", "value": 255 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\400/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/\\400/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "\\400", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "\\400", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\40", "value": 32 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "0", "value": 48 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\^/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\^/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\^", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\^", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\^", "value": 94 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\$", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\$", "value": 36 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\./": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\./", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\.", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\.", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\.", "value": 46 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\+/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\+/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\+", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\+", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\+", "value": 43 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\?/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\?/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\?", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\?", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\?", "value": 63 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\(/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\(/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\(", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\(", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\(", "value": 40 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\)", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\)", "value": 41 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\[/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\[/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\[", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\[", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\[", "value": 91 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\]", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\]", "value": 93 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\{/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\{/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\{", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\{", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\|/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\|/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\|", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\|", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\|", "value": 124 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\//": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\//", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\/", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\/", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\/", "value": 47 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\a/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\a/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\a", "value": 97 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/[]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "[]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "[]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 3, "raw": "[]", "negate": false, "elements": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[^-a-b-]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[^-a-b-]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[^-a-b-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[^-a-b-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[^-a-b-]", "negate": true, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "-", "value": 45 }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "a-b", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "b", "value": 98 } }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[-]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/[-]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "[-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "[-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 4, "raw": "[-]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[a]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/[a]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "[a]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "[a]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 4, "raw": "[a]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[--]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[--]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[--]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[--]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[--]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[-a]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[-a]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[-a]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[-a]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[-a]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "a", "value": 97 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[-a-]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[-a-]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[-a-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[-a-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[-a-]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[a-]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[a-]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[a-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[a-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[a-]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[a-b]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[a-b]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[a-b]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[a-b]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[a-b]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 5, "raw": "a-b", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "b", "value": 98 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[-a-b-]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[-a-b-]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[-a-b-]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[-a-b-]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[-a-b-]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "-", "value": 45 }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-b", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "b", "value": 98 } }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "-", "value": 45 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[---]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[---]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[---]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[---]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[---]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 5, "raw": "---", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "-", "value": 45 }, "max": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "-", "value": 45 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[a-b--/]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[a-b--/]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[a-b--/]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[a-b--/]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[a-b--/]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 5, "raw": "a-b", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "b", "value": 98 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 5, "end": 8, "raw": "--/", "min": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "-", "value": 45 }, "max": { "type": "Character", "parent": "♻️..", "start": 7, "end": 8, "raw": "/", "value": 47 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\b-\\n]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\b-\\n]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\b-\\n]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\b-\\n]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\b-\\n]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 7, "raw": "\\b-\\n", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\b", "value": 8 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 7, "raw": "\\n", "value": 10 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[b\\-a]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[b\\-a]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[b\\-a]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[b\\-a]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[b\\-a]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "b", "value": 98 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 5, "raw": "\\-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\d]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\d]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\d]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\d]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\d]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\D]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\D]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\D]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\D]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\D]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\D", "kind": "digit", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\s]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\s]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\s]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\s]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\s]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\s", "kind": "space", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\S]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\S]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\S]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\S]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\S]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\S", "kind": "space", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\w]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\w]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\w]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\w]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\w]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\w", "kind": "word", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\W]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\W]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\W]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\W]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\W]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\W", "kind": "word", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\f]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\f]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\f]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\f]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\f]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\f", "value": 12 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\n]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\n]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\n]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\n]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\n]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\n", "value": 10 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\r]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\r]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\r]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\r]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\r]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\r", "value": 13 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\t]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\t]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\t]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\t]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\t]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\t", "value": 9 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\v]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\v]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\v]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\v]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\v]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\v", "value": 11 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\cA]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\cA]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\cA]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\cA]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\cA]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\cA", "value": 1 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\cz]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\cz]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\cz]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\cz]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\cz]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\cz", "value": 26 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\c1]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\c1]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\c1]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\c1]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\c1]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\c1", "value": 17 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\c]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\c]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\c]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\c]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\c]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "\\", "value": 92 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "c", "value": 99 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\0]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\0]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\0]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\0]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\0]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\0", "value": 0 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\x]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\x]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\x]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\x]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\x]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\x", "value": 120 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\xz]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\xz]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\xz]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\xz]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\xz]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\x", "value": 120 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "z", "value": 122 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\x1]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\x1]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\x1]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\x1]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\x1]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\x", "value": 120 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "1", "value": 49 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\x12]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[\\x12]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[\\x12]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\x12]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\x12]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 6, "raw": "\\x12", "value": 18 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\x123]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\x123]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\x123]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\x123]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\x123]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 6, "raw": "\\x12", "value": 18 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "3", "value": 51 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\u]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\u]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\u]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\u]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u1]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\u1]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\u1]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\u1]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\u1]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "1", "value": 49 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u12]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[\\u12]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[\\u12]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\u12]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\u12]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "2", "value": 50 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u123]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\u123]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\u123]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u123]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u123]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "3", "value": 51 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u1234]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[\\u1234]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[\\u1234]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[\\u1234]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[\\u1234]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u1234", "value": 4660 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u12345]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/[\\u12345]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "[\\u12345]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "[\\u12345]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 10, "raw": "[\\u12345]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u1234", "value": 4660 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "5", "value": 53 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\u{]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\u{]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\u{]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\u{]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{z]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[\\u{z]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[\\u{z]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\u{z]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\u{z]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "z", "value": 122 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{a}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\u{a}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\u{a}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u{a}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u{a}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{20]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\u{20]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\u{20]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u{20]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\u{20]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "0", "value": 48 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{20}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[\\u{20}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[\\u{20}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[\\u{20}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[\\u{20}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "2", "value": 50 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{10FFFF}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/[\\u{10FFFF}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "[\\u{10FFFF}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{10FFFF}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{10FFFF}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 10, "end": 11, "raw": "F", "value": 70 }, { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{110000}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/[\\u{110000}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "[\\u{110000}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{110000}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{110000}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 10, "end": 11, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{00000001}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 16, "raw": "/[\\u{00000001}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 15, "raw": "[\\u{00000001}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 15, "raw": "[\\u{00000001}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 15, "raw": "[\\u{00000001}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 10, "end": 11, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 12, "end": 13, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 13, "end": 14, "raw": "}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 16, "end": 16, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\77]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\77]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\77]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\77]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\77]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\77", "value": 63 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\377]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[\\377]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[\\377]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\377]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\377]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 6, "raw": "\\377", "value": 255 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\400]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/[\\400]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "[\\400]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\400]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 7, "raw": "[\\400]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\40", "value": 32 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "0", "value": 48 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\^]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\^]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\^]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\^]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\^]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\^", "value": 94 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\$]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\$]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\$]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\$]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\$]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\$", "value": 36 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\.]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\.]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\.]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\.]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\.]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\.", "value": 46 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\+]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\+]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\+]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\+]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\+]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\+", "value": 43 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\?]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\?]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\?]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\?]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\?]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\?", "value": 63 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\(]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\(]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\(]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\(]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\(]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\(", "value": 40 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\)]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\)]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\)]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\)]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\)]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\)", "value": 41 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\[]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\[]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\[]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\[]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\[]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\[", "value": 91 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\]]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\]]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\]]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\]]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\]]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\]", "value": 93 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\{]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\{]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\{]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\{]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\{]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\{", "value": 123 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\|]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\|]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\|]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\|]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\|]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\|", "value": 124 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\/]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\/]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\/]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\/]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\/]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\/", "value": 47 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\a]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 6, "raw": "/[\\a]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "[\\a]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\a]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\a]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\a", "value": 97 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 6, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\d-\\uFFFF]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\d-\\uFFFF]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\d-\\uFFFF]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\d-\\uFFFF]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\d-\\uFFFF]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 11, "raw": "\\uFFFF", "value": 65535 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\D-\\uFFFF]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\D-\\uFFFF]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\D-\\uFFFF]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\D-\\uFFFF]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\D-\\uFFFF]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\D", "kind": "digit", "negate": true }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 11, "raw": "\\uFFFF", "value": 65535 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\s-\\uFFFF]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\s-\\uFFFF]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\s-\\uFFFF]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\s-\\uFFFF]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\s-\\uFFFF]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\s", "kind": "space", "negate": false }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 11, "raw": "\\uFFFF", "value": 65535 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\S-\\uFFFF]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\S-\\uFFFF]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\S-\\uFFFF]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\S-\\uFFFF]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\S-\\uFFFF]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\S", "kind": "space", "negate": true }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 11, "raw": "\\uFFFF", "value": 65535 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\w-\\uFFFF]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\w-\\uFFFF]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\w-\\uFFFF]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\w-\\uFFFF]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\w-\\uFFFF]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\w", "kind": "word", "negate": false }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 11, "raw": "\\uFFFF", "value": 65535 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\W-\\uFFFF]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\W-\\uFFFF]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\W-\\uFFFF]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\W-\\uFFFF]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\W-\\uFFFF]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\W", "kind": "word", "negate": true }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 11, "raw": "\\uFFFF", "value": 65535 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\d]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\u0000-\\d]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\u0000-\\d]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\d]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\d]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\d", "kind": "digit", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\D]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\u0000-\\D]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\u0000-\\D]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\D]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\D]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\D", "kind": "digit", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\s]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\u0000-\\s]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\u0000-\\s]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\s]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\s]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\s", "kind": "space", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\S]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\u0000-\\S]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\u0000-\\S]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\S]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\S]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\S", "kind": "space", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\w]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\u0000-\\w]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\u0000-\\w]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\w]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\w]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\w", "kind": "word", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\W]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/[\\u0000-\\W]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "[\\u0000-\\W]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\W]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 12, "raw": "[\\u0000-\\W]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\W", "kind": "word", "negate": true } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u0000-\\u0001]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 17, "raw": "/[\\u0000-\\u0001]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 16, "raw": "[\\u0000-\\u0001]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 16, "raw": "[\\u0000-\\u0001]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 16, "raw": "[\\u0000-\\u0001]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 15, "raw": "\\u0000-\\u0001", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 8, "raw": "\\u0000", "value": 0 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 15, "raw": "\\u0001", "value": 1 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 17, "end": 17, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\u{2-\\u{1}]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/[\\u{2-\\u{1}]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "[\\u{2-\\u{1}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{2-\\u{1}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 13, "raw": "[\\u{2-\\u{1}]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\u", "value": 117 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "{", "value": 123 }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 5, "end": 9, "raw": "2-\\u", "min": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "2", "value": 50 }, "max": { "type": "Character", "parent": "♻️..", "start": 7, "end": 9, "raw": "\\u", "value": 117 } }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 10, "end": 11, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "}", "value": 125 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\a-\\z]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\a-\\z]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\a-\\z]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\a-\\z]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\a-\\z]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 7, "raw": "\\a-\\z", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 7, "raw": "\\z", "value": 122 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[0-9--/]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/[0-9--/]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "[0-9--/]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[0-9--/]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 9, "raw": "[0-9--/]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 5, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "9", "value": 57 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 5, "end": 8, "raw": "--/", "min": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "-", "value": 45 }, "max": { "type": "Character", "parent": "♻️..", "start": 7, "end": 8, "raw": "/", "value": 47 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\c0-\u001f]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/[\\c0-\u001f]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 8, "raw": "[\\c0-\u001f]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\c0-\u001f]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 8, "raw": "[\\c0-\u001f]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 2, "end": 7, "raw": "\\c0-\u001f", "min": { "type": "Character", "parent": "♻️..", "start": 2, "end": 5, "raw": "\\c0", "value": 16 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "\u001f", "value": 31 } } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 9, "end": 9, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\c_]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/[\\c_]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "[\\c_]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\c_]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 6, "raw": "[\\c_]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\c_", "value": 31 } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[0-9]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/^[0-9]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "^[0-9]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "^[0-9]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 8, "raw": "[0-9]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 7, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "9", "value": 57 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 8, "end": 9, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[0-9]+$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/^[0-9]+$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "^[0-9]+$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "^[0-9]+$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 8, "raw": "[0-9]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 7, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "9", "value": 57 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 8, "end": 9, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[a-zA-Z]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/^[a-zA-Z]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "^[a-zA-Z]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "^[a-zA-Z]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 11, "raw": "[a-zA-Z]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 10, "raw": "[a-zA-Z]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "Z", "value": 90 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 11, "end": 12, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[a-zA-Z]+$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/^[a-zA-Z]+$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "^[a-zA-Z]+$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "^[a-zA-Z]+$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 11, "raw": "[a-zA-Z]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 10, "raw": "[a-zA-Z]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "Z", "value": 90 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 11, "end": 12, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[0-9a-zA-Z]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 16, "raw": "/^[0-9a-zA-Z]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 15, "raw": "^[0-9a-zA-Z]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 15, "raw": "^[0-9a-zA-Z]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 14, "raw": "[0-9a-zA-Z]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 13, "raw": "[0-9a-zA-Z]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "9", "value": 57 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 9, "end": 12, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "Z", "value": 90 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 14, "end": 15, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 16, "end": 16, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[a-zA-Z0-9!-/:-@\\[-`{-~]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 29, "raw": "/^[a-zA-Z0-9!-/:-@\\[-`{-~]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 28, "raw": "^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 28, "raw": "^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 27, "raw": "[a-zA-Z0-9!-/:-@\\[-`{-~]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 26, "raw": "[a-zA-Z0-9!-/:-@\\[-`{-~]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 9, "end": 12, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "9", "value": 57 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 12, "end": 15, "raw": "!-/", "min": { "type": "Character", "parent": "♻️..", "start": 12, "end": 13, "raw": "!", "value": 33 }, "max": { "type": "Character", "parent": "♻️..", "start": 14, "end": 15, "raw": "/", "value": 47 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 15, "end": 18, "raw": ":-@", "min": { "type": "Character", "parent": "♻️..", "start": 15, "end": 16, "raw": ":", "value": 58 }, "max": { "type": "Character", "parent": "♻️..", "start": 17, "end": 18, "raw": "@", "value": 64 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 18, "end": 22, "raw": "\\[-`", "min": { "type": "Character", "parent": "♻️..", "start": 18, "end": 20, "raw": "\\[", "value": 91 }, "max": { "type": "Character", "parent": "♻️..", "start": 21, "end": 22, "raw": "`", "value": 96 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 22, "end": 25, "raw": "{-~", "min": { "type": "Character", "parent": "♻️..", "start": 22, "end": 23, "raw": "{", "value": 123 }, "max": { "type": "Character", "parent": "♻️..", "start": 24, "end": 25, "raw": "~", "value": 126 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 27, "end": 28, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 29, "end": 29, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^([a-zA-Z0-9]{8,})$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 21, "raw": "/^([a-zA-Z0-9]{8,})$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 20, "raw": "^([a-zA-Z0-9]{8,})$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 20, "raw": "^([a-zA-Z0-9]{8,})$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 19, "raw": "([a-zA-Z0-9]{8,})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 18, "raw": "[a-zA-Z0-9]{8,}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 18, "raw": "[a-zA-Z0-9]{8,}", "min": 8, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 3, "end": 14, "raw": "[a-zA-Z0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 7, "end": 10, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 7, "end": 8, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 10, "end": 13, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 10, "end": 11, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 12, "end": 13, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] }, { "type": "Assertion", "parent": "♻️../..", "start": 19, "end": 20, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 21, "end": 21, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^([a-zA-Z0-9]{6,8})$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 22, "raw": "/^([a-zA-Z0-9]{6,8})$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 21, "raw": "^([a-zA-Z0-9]{6,8})$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 21, "raw": "^([a-zA-Z0-9]{6,8})$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 20, "raw": "([a-zA-Z0-9]{6,8})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 19, "raw": "[a-zA-Z0-9]{6,8}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 19, "raw": "[a-zA-Z0-9]{6,8}", "min": 6, "max": 8, "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 3, "end": 14, "raw": "[a-zA-Z0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 7, "end": 10, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 7, "end": 8, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 10, "end": 13, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 10, "end": 11, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 12, "end": 13, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] }, { "type": "Assertion", "parent": "♻️../..", "start": 20, "end": 21, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 22, "end": 22, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^([0-9]{0,8})$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 16, "raw": "/^([0-9]{0,8})$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 15, "raw": "^([0-9]{0,8})$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 15, "raw": "^([0-9]{0,8})$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 14, "raw": "([0-9]{0,8})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 13, "raw": "[0-9]{0,8}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 3, "end": 13, "raw": "[0-9]{0,8}", "min": 0, "max": 8, "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 3, "end": 8, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] }, { "type": "Assertion", "parent": "♻️../..", "start": 14, "end": 15, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 16, "end": 16, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[0-9]{8}$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/^[0-9]{8}$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "^[0-9]{8}$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "^[0-9]{8}$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 10, "raw": "[0-9]{8}", "min": 8, "max": 8, "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 7, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "9", "value": 57 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 10, "end": 11, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 12, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^https?:\\/\\//": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/^https?:\\/\\//", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "^https?:\\/\\/", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "^https?:\\/\\/", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "h", "value": 104 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "t", "value": 116 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "t", "value": 116 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "p", "value": 112 }, { "type": "Quantifier", "parent": "♻️../..", "start": 6, "end": 8, "raw": "s?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "s", "value": 115 } }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": ":", "value": 58 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 11, "raw": "\\/", "value": 47 }, { "type": "Character", "parent": "♻️../..", "start": 11, "end": 13, "raw": "\\/", "value": 47 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^\\d{3}-\\d{4}$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 15, "raw": "/^\\d{3}-\\d{4}$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 14, "raw": "^\\d{3}-\\d{4}$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 14, "raw": "^\\d{3}-\\d{4}$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 7, "raw": "\\d{3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "-", "value": 45 }, { "type": "Quantifier", "parent": "♻️../..", "start": 8, "end": 13, "raw": "\\d{4}", "min": 4, "max": 4, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 8, "end": 10, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Assertion", "parent": "♻️../..", "start": 13, "end": 14, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 15, "end": 15, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^\\d{1,3}(.\\d{1,3}){3}$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 24, "raw": "/^\\d{1,3}(.\\d{1,3}){3}$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 23, "raw": "^\\d{1,3}(.\\d{1,3}){3}$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 23, "raw": "^\\d{1,3}(.\\d{1,3}){3}$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 9, "raw": "\\d{1,3}", "min": 1, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Quantifier", "parent": "♻️../..", "start": 9, "end": 22, "raw": "(.\\d{1,3}){3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 9, "end": 19, "raw": "(.\\d{1,3})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 10, "end": 18, "raw": ".\\d{1,3}", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 10, "end": 11, "raw": ".", "kind": "any" }, { "type": "Quantifier", "parent": "♻️../..", "start": 11, "end": 18, "raw": "\\d{1,3}", "min": 1, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 11, "end": 13, "raw": "\\d", "kind": "digit", "negate": false } } ] } ], "references": [] } }, { "type": "Assertion", "parent": "♻️../..", "start": 22, "end": 23, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 24, "end": 24, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^([1-9][0-9]*|0)(\\.[0-9]+)?$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 30, "raw": "/^([1-9][0-9]*|0)(\\.[0-9]+)?$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 29, "raw": "^([1-9][0-9]*|0)(\\.[0-9]+)?$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 29, "raw": "^([1-9][0-9]*|0)(\\.[0-9]+)?$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 17, "raw": "([1-9][0-9]*|0)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 14, "raw": "[1-9][0-9]*", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 3, "end": 8, "raw": "[1-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 7, "raw": "1-9", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 5, "raw": "1", "value": 49 }, "max": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "9", "value": 57 } } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 8, "end": 14, "raw": "[0-9]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 8, "end": 13, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 9, "end": 12, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "9", "value": 57 } } ] } } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 15, "end": 16, "raw": "0", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 15, "end": 16, "raw": "0", "value": 48 } ] } ], "references": [] }, { "type": "Quantifier", "parent": "♻️../..", "start": 17, "end": 28, "raw": "(\\.[0-9]+)?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 17, "end": 27, "raw": "(\\.[0-9]+)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 18, "end": 26, "raw": "\\.[0-9]+", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 18, "end": 20, "raw": "\\.", "value": 46 }, { "type": "Quantifier", "parent": "♻️../..", "start": 20, "end": 26, "raw": "[0-9]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 20, "end": 25, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 21, "end": 24, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 21, "end": 22, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 23, "end": 24, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] } }, { "type": "Assertion", "parent": "♻️../..", "start": 28, "end": 29, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 30, "end": 30, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^-?([1-9][0-9]*|0)(\\.[0-9]+)?$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 32, "raw": "/^-?([1-9][0-9]*|0)(\\.[0-9]+)?$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 31, "raw": "^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 31, "raw": "^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 4, "raw": "-?", "min": 0, "max": 1, "greedy": true, "element": { "type": "Character", "parent": "♻️..", "start": 2, "end": 3, "raw": "-", "value": 45 } }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 4, "end": 19, "raw": "([1-9][0-9]*|0)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 16, "raw": "[1-9][0-9]*", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 5, "end": 10, "raw": "[1-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "1-9", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "1", "value": 49 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "9", "value": 57 } } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 10, "end": 16, "raw": "[0-9]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 10, "end": 15, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 11, "end": 14, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 13, "end": 14, "raw": "9", "value": 57 } } ] } } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": "0", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "0", "value": 48 } ] } ], "references": [] }, { "type": "Quantifier", "parent": "♻️../..", "start": 19, "end": 30, "raw": "(\\.[0-9]+)?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 19, "end": 29, "raw": "(\\.[0-9]+)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 20, "end": 28, "raw": "\\.[0-9]+", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 20, "end": 22, "raw": "\\.", "value": 46 }, { "type": "Quantifier", "parent": "♻️../..", "start": 22, "end": 28, "raw": "[0-9]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 22, "end": 27, "raw": "[0-9]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 23, "end": 26, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 23, "end": 24, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 25, "end": 26, "raw": "9", "value": 57 } } ] } } ] } ], "references": [] } }, { "type": "Assertion", "parent": "♻️../..", "start": 30, "end": 31, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 32, "end": 32, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[ぁ-んー]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/^[ぁ-んー]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "^[ぁ-んー]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "^[ぁ-んー]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 9, "raw": "[ぁ-んー]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 8, "raw": "[ぁ-んー]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "ぁ-ん", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "ぁ", "value": 12353 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "ん", "value": 12435 } }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "ー", "value": 12540 } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 9, "end": 10, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[ァ-ンヴー]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/^[ァ-ンヴー]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "^[ァ-ンヴー]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "^[ァ-ンヴー]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 10, "raw": "[ァ-ンヴー]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 9, "raw": "[ァ-ンヴー]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "ァ-ン", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "ァ", "value": 12449 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "ン", "value": 12531 } }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "ヴ", "value": 12532 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "ー", "value": 12540 } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 10, "end": 11, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 12, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[ァ-ン゙゚\\-]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/^[ァ-ン゙゚\\-]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "^[ァ-ン゙゚\\-]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "^[ァ-ン゙゚\\-]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 12, "raw": "[ァ-ン゙゚\\-]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 11, "raw": "[ァ-ン゙゚\\-]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "ァ-ン", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "ァ", "value": 65383 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "ン", "value": 65437 } }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "゙", "value": 65438 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "゚", "value": 65439 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 10, "raw": "\\-", "value": 45 } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 12, "end": 13, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[^\\x20-\\x7e]*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 17, "raw": "/^[^\\x20-\\x7e]*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 16, "raw": "^[^\\x20-\\x7e]*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 16, "raw": "^[^\\x20-\\x7e]*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 15, "raw": "[^\\x20-\\x7e]*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 14, "raw": "[^\\x20-\\x7e]", "negate": true, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 4, "end": 13, "raw": "\\x20-\\x7e", "min": { "type": "Character", "parent": "♻️..", "start": 4, "end": 8, "raw": "\\x20", "value": 32 }, "max": { "type": "Character", "parent": "♻️..", "start": 9, "end": 13, "raw": "\\x7e", "value": 126 } } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 15, "end": 16, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 17, "end": 17, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 70, "raw": "/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 69, "raw": "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 69, "raw": "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 34, "raw": "[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 2, "end": 33, "raw": "[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 3, "end": 6, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 3, "end": 4, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 5, "end": 6, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 9, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 7, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 8, "end": 9, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 9, "end": 12, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 9, "end": 10, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 11, "end": 12, "raw": "9", "value": 57 } }, { "type": "Character", "parent": "♻️../..", "start": 12, "end": 13, "raw": ".", "value": 46 }, { "type": "Character", "parent": "♻️../..", "start": 13, "end": 14, "raw": "!", "value": 33 }, { "type": "Character", "parent": "♻️../..", "start": 14, "end": 15, "raw": "#", "value": 35 }, { "type": "Character", "parent": "♻️../..", "start": 15, "end": 16, "raw": "$", "value": 36 }, { "type": "Character", "parent": "♻️../..", "start": 16, "end": 17, "raw": "%", "value": 37 }, { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "&", "value": 38 }, { "type": "Character", "parent": "♻️../..", "start": 18, "end": 19, "raw": "'", "value": 39 }, { "type": "Character", "parent": "♻️../..", "start": 19, "end": 20, "raw": "*", "value": 42 }, { "type": "Character", "parent": "♻️../..", "start": 20, "end": 21, "raw": "+", "value": 43 }, { "type": "Character", "parent": "♻️../..", "start": 21, "end": 22, "raw": "/", "value": 47 }, { "type": "Character", "parent": "♻️../..", "start": 22, "end": 23, "raw": "=", "value": 61 }, { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "?", "value": 63 }, { "type": "Character", "parent": "♻️../..", "start": 24, "end": 25, "raw": "^", "value": 94 }, { "type": "Character", "parent": "♻️../..", "start": 25, "end": 26, "raw": "_", "value": 95 }, { "type": "Character", "parent": "♻️../..", "start": 26, "end": 27, "raw": "`", "value": 96 }, { "type": "Character", "parent": "♻️../..", "start": 27, "end": 28, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 28, "end": 29, "raw": "|", "value": 124 }, { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "}", "value": 125 }, { "type": "Character", "parent": "♻️../..", "start": 30, "end": 31, "raw": "~", "value": 126 }, { "type": "Character", "parent": "♻️../..", "start": 31, "end": 32, "raw": "-", "value": 45 } ] } }, { "type": "Character", "parent": "♻️../..", "start": 34, "end": 35, "raw": "@", "value": 64 }, { "type": "Quantifier", "parent": "♻️../..", "start": 35, "end": 48, "raw": "[a-zA-Z0-9-]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 35, "end": 47, "raw": "[a-zA-Z0-9-]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 36, "end": 39, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 36, "end": 37, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 38, "end": 39, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 39, "end": 42, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 39, "end": 40, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 41, "end": 42, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 42, "end": 45, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 42, "end": 43, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 44, "end": 45, "raw": "9", "value": 57 } }, { "type": "Character", "parent": "♻️../..", "start": 45, "end": 46, "raw": "-", "value": 45 } ] } }, { "type": "Quantifier", "parent": "♻️../..", "start": 48, "end": 68, "raw": "(?:\\.[a-zA-Z0-9-]+)*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "Group", "parent": "♻️..", "start": 48, "end": 67, "raw": "(?:\\.[a-zA-Z0-9-]+)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 51, "end": 66, "raw": "\\.[a-zA-Z0-9-]+", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 51, "end": 53, "raw": "\\.", "value": 46 }, { "type": "Quantifier", "parent": "♻️../..", "start": 53, "end": 66, "raw": "[a-zA-Z0-9-]+", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 53, "end": 65, "raw": "[a-zA-Z0-9-]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 54, "end": 57, "raw": "a-z", "min": { "type": "Character", "parent": "♻️..", "start": 54, "end": 55, "raw": "a", "value": 97 }, "max": { "type": "Character", "parent": "♻️..", "start": 56, "end": 57, "raw": "z", "value": 122 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 57, "end": 60, "raw": "A-Z", "min": { "type": "Character", "parent": "♻️..", "start": 57, "end": 58, "raw": "A", "value": 65 }, "max": { "type": "Character", "parent": "♻️..", "start": 59, "end": 60, "raw": "Z", "value": 90 } }, { "type": "CharacterClassRange", "parent": "♻️../..", "start": 60, "end": 63, "raw": "0-9", "min": { "type": "Character", "parent": "♻️..", "start": 60, "end": 61, "raw": "0", "value": 48 }, "max": { "type": "Character", "parent": "♻️..", "start": 62, "end": 63, "raw": "9", "value": 57 } }, { "type": "Character", "parent": "♻️../..", "start": 63, "end": 64, "raw": "-", "value": 45 } ] } } ] } ] } }, { "type": "Assertion", "parent": "♻️../..", "start": 68, "end": 69, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 70, "end": 70, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 84, "raw": "/^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 83, "raw": "^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 69, "raw": "^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 2, "end": 33, "raw": "((4\\d{3})|(5[1-5]\\d{2})|(6011))", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 3, "end": 11, "raw": "(4\\d{3})", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 3, "end": 11, "raw": "(4\\d{3})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 10, "raw": "4\\d{3}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "4", "value": 52 }, { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 10, "raw": "\\d{3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 5, "end": 7, "raw": "\\d", "kind": "digit", "negate": false } } ] } ], "references": [] } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 12, "end": 25, "raw": "(5[1-5]\\d{2})", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 12, "end": 25, "raw": "(5[1-5]\\d{2})", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 13, "end": 24, "raw": "5[1-5]\\d{2}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 13, "end": 14, "raw": "5", "value": 53 }, { "type": "CharacterClass", "parent": "♻️../..", "start": 14, "end": 19, "raw": "[1-5]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 15, "end": 18, "raw": "1-5", "min": { "type": "Character", "parent": "♻️..", "start": 15, "end": 16, "raw": "1", "value": 49 }, "max": { "type": "Character", "parent": "♻️..", "start": 17, "end": 18, "raw": "5", "value": 53 } } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 19, "end": 24, "raw": "\\d{2}", "min": 2, "max": 2, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 19, "end": 21, "raw": "\\d", "kind": "digit", "negate": false } } ] } ], "references": [] } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 26, "end": 32, "raw": "(6011)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 26, "end": 32, "raw": "(6011)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 27, "end": 31, "raw": "6011", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 27, "end": 28, "raw": "6", "value": 54 }, { "type": "Character", "parent": "♻️../..", "start": 28, "end": 29, "raw": "0", "value": 48 }, { "type": "Character", "parent": "♻️../..", "start": 29, "end": 30, "raw": "1", "value": 49 }, { "type": "Character", "parent": "♻️../..", "start": 30, "end": 31, "raw": "1", "value": 49 } ] } ], "references": [] } ] } ], "references": [] }, { "type": "Quantifier", "parent": "♻️../..", "start": 33, "end": 40, "raw": "([- ])?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 33, "end": 39, "raw": "([- ])", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 34, "end": 38, "raw": "[- ]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 34, "end": 38, "raw": "[- ]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 35, "end": 36, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 36, "end": 37, "raw": " ", "value": 32 } ] } ] } ], "references": [] } }, { "type": "Quantifier", "parent": "♻️../..", "start": 40, "end": 45, "raw": "\\d{4}", "min": 4, "max": 4, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 40, "end": 42, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Quantifier", "parent": "♻️../..", "start": 45, "end": 52, "raw": "([- ])?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 45, "end": 51, "raw": "([- ])", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 46, "end": 50, "raw": "[- ]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 46, "end": 50, "raw": "[- ]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 47, "end": 48, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 48, "end": 49, "raw": " ", "value": 32 } ] } ] } ], "references": [] } }, { "type": "Quantifier", "parent": "♻️../..", "start": 52, "end": 57, "raw": "\\d{4}", "min": 4, "max": 4, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 52, "end": 54, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Quantifier", "parent": "♻️../..", "start": 57, "end": 64, "raw": "([- ])?", "min": 0, "max": 1, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 57, "end": 63, "raw": "([- ])", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 58, "end": 62, "raw": "[- ]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 58, "end": 62, "raw": "[- ]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 59, "end": 60, "raw": "-", "value": 45 }, { "type": "Character", "parent": "♻️../..", "start": 60, "end": 61, "raw": " ", "value": 32 } ] } ] } ], "references": [] } }, { "type": "Quantifier", "parent": "♻️../..", "start": 64, "end": 69, "raw": "\\d{4}", "min": 4, "max": 4, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 64, "end": 66, "raw": "\\d", "kind": "digit", "negate": false } } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 70, "end": 83, "raw": "3[4,7]\\d{13}$", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 70, "end": 71, "raw": "3", "value": 51 }, { "type": "CharacterClass", "parent": "♻️../..", "start": 71, "end": 76, "raw": "[4,7]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 72, "end": 73, "raw": "4", "value": 52 }, { "type": "Character", "parent": "♻️../..", "start": 73, "end": 74, "raw": ",", "value": 44 }, { "type": "Character", "parent": "♻️../..", "start": 74, "end": 75, "raw": "7", "value": 55 } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 76, "end": 82, "raw": "\\d{13}", "min": 13, "max": 13, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 76, "end": 78, "raw": "\\d", "kind": "digit", "negate": false } }, { "type": "Assertion", "parent": "♻️../..", "start": 82, "end": 83, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 84, "end": 84, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/^\\s*|\\s*$/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/^\\s*|\\s*$/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "^\\s*|\\s*$", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "^\\s*", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 2, "raw": "^", "kind": "start" }, { "type": "Quantifier", "parent": "♻️../..", "start": 2, "end": 5, "raw": "\\s*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 2, "end": 4, "raw": "\\s", "kind": "space", "negate": false } } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 10, "raw": "\\s*$", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 6, "end": 9, "raw": "\\s*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 6, "end": 8, "raw": "\\s", "kind": "space", "negate": false } }, { "type": "Assertion", "parent": "♻️../..", "start": 9, "end": 10, "raw": "$", "kind": "end" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\d][\\12-\\14]{1,}[^\\d]/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 24, "raw": "/[\\d][\\12-\\14]{1,}[^\\d]/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 23, "raw": "[\\d][\\12-\\14]{1,}[^\\d]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 23, "raw": "[\\d][\\12-\\14]{1,}[^\\d]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 5, "raw": "[\\d]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 4, "raw": "\\d", "kind": "digit", "negate": false } ] }, { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 18, "raw": "[\\12-\\14]{1,}", "min": 1, "max": "$$Infinity", "greedy": true, "element": { "type": "CharacterClass", "parent": "♻️..", "start": 5, "end": 14, "raw": "[\\12-\\14]", "negate": false, "elements": [ { "type": "CharacterClassRange", "parent": "♻️../..", "start": 6, "end": 13, "raw": "\\12-\\14", "min": { "type": "Character", "parent": "♻️..", "start": 6, "end": 9, "raw": "\\12", "value": 10 }, "max": { "type": "Character", "parent": "♻️..", "start": 10, "end": 13, "raw": "\\14", "value": 12 } } ] } }, { "type": "CharacterClass", "parent": "♻️../..", "start": 18, "end": 23, "raw": "[^\\d]", "negate": true, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 20, "end": 22, "raw": "\\d", "kind": "digit", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 24, "end": 24, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/([a ]\\b)*\\b/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/([a ]\\b)*\\b/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 12, "raw": "([a ]\\b)*\\b", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 12, "raw": "([a ]\\b)*\\b", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 1, "end": 10, "raw": "([a ]\\b)*", "min": 0, "max": "$$Infinity", "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 1, "end": 9, "raw": "([a ]\\b)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 8, "raw": "[a ]\\b", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 2, "end": 6, "raw": "[a ]", "negate": false, "elements": [ { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": " ", "value": 32 } ] }, { "type": "Assertion", "parent": "♻️../..", "start": 6, "end": 8, "raw": "\\b", "kind": "word", "negate": false } ] } ], "references": [] } }, { "type": "Assertion", "parent": "♻️../..", "start": 10, "end": 12, "raw": "\\b", "kind": "word", "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 13, "end": 13, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } } } }regexpp-3.2.0/test/fixtures/parser/literal/flags-2015.json000066400000000000000000000052301406163405500233260ustar00rootroot00000000000000{ "options": { "strict": true, "ecmaVersion": 2015 }, "patterns": { "/./u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/./u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": ".", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "kind": "any" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 4, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/./y": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/./y", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": ".", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "kind": "any" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 4, "raw": "y", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": true, "dotAll": false, "hasIndices": false } } }, "/./s": { "error": { "message": "Invalid regular expression: /./s: Invalid flag 's'", "index": 3 } }, "/./d": { "error": { "message": "Invalid regular expression: /./d: Invalid flag 'd'", "index": 3 } } } }regexpp-3.2.0/test/fixtures/parser/literal/flags-2018.json000066400000000000000000000025671406163405500233430ustar00rootroot00000000000000{ "options": { "strict": true, "ecmaVersion": 2018 }, "patterns": { "/./s": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/./s", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": ".", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "kind": "any" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 4, "raw": "s", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": true, "hasIndices": false } } }, "/./d": { "error": { "message": "Invalid regular expression: /./d: Invalid flag 'd'", "index": 3 } } } }regexpp-3.2.0/test/fixtures/parser/literal/flags-2021.json000066400000000000000000000023551406163405500233300ustar00rootroot00000000000000{ "options": { "strict": true, "ecmaVersion": 2022 }, "patterns": { "/./d": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/./d", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 2, "raw": ".", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 2, "raw": ".", "kind": "any" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 3, "end": 4, "raw": "d", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": true } } } } }regexpp-3.2.0/test/fixtures/parser/literal/flags.json000066400000000000000000000233371406163405500227510ustar00rootroot00000000000000{ "options": { "strict": true, "ecmaVersion": 5 }, "patterns": { "/(?:)/g": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/(?:)/g", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "(?:)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?:)", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?:)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "g", "global": true, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:)/i": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/(?:)/i", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "(?:)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?:)", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?:)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "i", "global": false, "ignoreCase": true, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:)/m": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/(?:)/m", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "(?:)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?:)", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?:)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 7, "raw": "m", "global": false, "ignoreCase": false, "multiline": true, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:)/gi": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(?:)/gi", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "(?:)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?:)", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?:)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 8, "raw": "gi", "global": true, "ignoreCase": true, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:)/mg": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(?:)/mg", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "(?:)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?:)", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?:)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 8, "raw": "mg", "global": true, "ignoreCase": false, "multiline": true, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:)/mig": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 9, "raw": "/(?:)/mig", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 5, "raw": "(?:)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?:)", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 5, "raw": "(?:)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 4, "raw": "", "elements": [] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 6, "end": 9, "raw": "mig", "global": true, "ignoreCase": true, "multiline": true, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/./G": { "error": { "message": "Invalid regular expression: /./G: Invalid flag 'G'", "index": 3 } }, "/./gig": { "error": { "message": "Invalid regular expression: /./gig: Duplicated flag 'g'", "index": 3 } }, "/./\\u0067": { "error": { "message": "Invalid regular expression: /./\\u0067: Invalid flag '\\'", "index": 3 } }, "/./u": { "error": { "message": "Invalid regular expression: /./u: Invalid flag 'u'", "index": 3 } }, "/./y": { "error": { "message": "Invalid regular expression: /./y: Invalid flag 'y'", "index": 3 } }, "/./s": { "error": { "message": "Invalid regular expression: /./s: Invalid flag 's'", "index": 3 } }, "/./d": { "error": { "message": "Invalid regular expression: /./d: Invalid flag 'd'", "index": 3 } } } }regexpp-3.2.0/test/fixtures/parser/literal/general-invalid.json000066400000000000000000000037251406163405500247150ustar00rootroot00000000000000{ "options": { "strict": true, "ecmaVersion": 2018 }, "patterns": { "/\\\r/": { "error": { "message": "Invalid regular expression: /\\\r/: Unterminated regular expression", "index": 2 } }, "/\\\n/": { "error": { "message": "Invalid regular expression: /\\\n/: Unterminated regular expression", "index": 2 } }, "/\\/": { "error": { "message": "Invalid regular expression: /\\/: Unterminated regular expression", "index": 3 } }, "/\n/": { "error": { "message": "Invalid regular expression: /\n/: Unterminated regular expression", "index": 1 } }, "/\r/": { "error": { "message": "Invalid regular expression: /\r/: Unterminated regular expression", "index": 1 } }, "/
/": { "error": { "message": "Invalid regular expression: /
/: Unterminated regular expression", "index": 1 } }, "/
/": { "error": { "message": "Invalid regular expression: /
/: Unterminated regular expression", "index": 1 } }, "///": { "error": { "message": "Invalid regular expression: ///: Unexpected character '/'", "index": 1 } }, "//": { "error": { "message": "Invalid regular expression: //: Unexpected character '/'", "index": 1 } }, "/": { "error": { "message": "Invalid regular expression: /: Unterminated regular expression", "index": 1 } }, "/*/": { "error": { "message": "Invalid regular expression: /*/: Unexpected character '*'", "index": 1 } }, "/*": { "error": { "message": "Invalid regular expression: /*: Unexpected character '*'", "index": 1 } }, "": { "error": { "message": "Invalid regular expression: Empty", "index": 0 } } } }regexpp-3.2.0/test/fixtures/parser/literal/lookbehind-assertion-invalid-2017.json000066400000000000000000000016631406163405500300110ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2017 }, "patterns": { "/(?\\w){3})f/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 20, "raw": "/(?<=(?\\w){3})f/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 18, "raw": "(?<=(?\\w){3})f", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 18, "raw": "(?<=(?\\w){3})f", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 17, "raw": "(?<=(?\\w){3})", "kind": "lookbehind", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 16, "raw": "(?\\w){3}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 16, "raw": "(?\\w){3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 5, "end": 13, "raw": "(?\\w)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 10, "end": 12, "raw": "\\w", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 10, "end": 12, "raw": "\\w", "kind": "word", "negate": false } ] } ], "references": [] } } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "f", "value": 102 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 19, "end": 20, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/((?<=\\w{3}))f/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 16, "raw": "/((?<=\\w{3}))f/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 14, "raw": "((?<=\\w{3}))f", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 14, "raw": "((?<=\\w{3}))f", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 13, "raw": "((?<=\\w{3}))", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 12, "raw": "(?<=\\w{3})", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 2, "end": 12, "raw": "(?<=\\w{3})", "kind": "lookbehind", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 11, "raw": "\\w{3}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 6, "end": 11, "raw": "\\w{3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 6, "end": 8, "raw": "\\w", "kind": "word", "negate": false } } ] } ] } ] } ], "references": [] }, { "type": "Character", "parent": "♻️../..", "start": 13, "end": 14, "raw": "f", "value": 102 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 15, "end": 16, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?(?<=\\w{3}))f/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 20, "raw": "/(?(?<=\\w{3}))f/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 18, "raw": "(?(?<=\\w{3}))f", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 18, "raw": "(?(?<=\\w{3}))f", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 17, "raw": "(?(?<=\\w{3}))", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 16, "raw": "(?<=\\w{3})", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 6, "end": 16, "raw": "(?<=\\w{3})", "kind": "lookbehind", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 10, "end": 15, "raw": "\\w{3}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 10, "end": 15, "raw": "\\w{3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 10, "end": 12, "raw": "\\w", "kind": "word", "negate": false } } ] } ] } ] } ], "references": [] }, { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "f", "value": 102 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 19, "end": 20, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?\\d){3})f/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 20, "raw": "/(?\\d){3})f/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 18, "raw": "(?\\d){3})f", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 18, "raw": "(?\\d){3})f", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 17, "raw": "(?\\d){3})", "kind": "lookbehind", "negate": true, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 16, "raw": "(?\\d){3}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 16, "raw": "(?\\d){3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 5, "end": 13, "raw": "(?\\d)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 10, "end": 12, "raw": "\\d", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 10, "end": 12, "raw": "\\d", "kind": "digit", "negate": false } ] } ], "references": [] } } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "f", "value": 102 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 19, "end": 20, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?\\D){3})f|f/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 22, "raw": "/(?\\D){3})f|f/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 20, "raw": "(?\\D){3})f|f", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 18, "raw": "(?\\D){3})f", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 17, "raw": "(?\\D){3})", "kind": "lookbehind", "negate": true, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 16, "raw": "(?\\D){3}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 16, "raw": "(?\\D){3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 5, "end": 13, "raw": "(?\\D)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 10, "end": 12, "raw": "\\D", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 10, "end": 12, "raw": "\\D", "kind": "digit", "negate": true } ] } ], "references": [] } } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "f", "value": 102 } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 19, "end": 20, "raw": "f", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 19, "end": 20, "raw": "f", "value": 102 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 21, "end": 22, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?(?(?(?(?(?\\w){3})f/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 19, "raw": "/(?<=(?\\w){3})f/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 18, "raw": "(?<=(?\\w){3})f", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 18, "raw": "(?<=(?\\w){3})f", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 17, "raw": "(?<=(?\\w){3})", "kind": "lookbehind", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 16, "raw": "(?\\w){3}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 16, "raw": "(?\\w){3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 5, "end": 13, "raw": "(?\\w)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 10, "end": 12, "raw": "\\w", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 10, "end": 12, "raw": "\\w", "kind": "word", "negate": false } ] } ], "references": [] } } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "f", "value": 102 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 19, "end": 19, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/((?<=\\w{3}))f/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 15, "raw": "/((?<=\\w{3}))f/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 14, "raw": "((?<=\\w{3}))f", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 14, "raw": "((?<=\\w{3}))f", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 13, "raw": "((?<=\\w{3}))", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 12, "raw": "(?<=\\w{3})", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 2, "end": 12, "raw": "(?<=\\w{3})", "kind": "lookbehind", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 11, "raw": "\\w{3}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 6, "end": 11, "raw": "\\w{3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 6, "end": 8, "raw": "\\w", "kind": "word", "negate": false } } ] } ] } ] } ], "references": [] }, { "type": "Character", "parent": "♻️../..", "start": 13, "end": 14, "raw": "f", "value": 102 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 15, "end": 15, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?(?<=\\w{3}))f/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 19, "raw": "/(?(?<=\\w{3}))f/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 18, "raw": "(?(?<=\\w{3}))f", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 18, "raw": "(?(?<=\\w{3}))f", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 17, "raw": "(?(?<=\\w{3}))", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 16, "raw": "(?<=\\w{3})", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 6, "end": 16, "raw": "(?<=\\w{3})", "kind": "lookbehind", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 10, "end": 15, "raw": "\\w{3}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 10, "end": 15, "raw": "\\w{3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CharacterSet", "parent": "♻️..", "start": 10, "end": 12, "raw": "\\w", "kind": "word", "negate": false } } ] } ] } ] } ], "references": [] }, { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "f", "value": 102 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 19, "end": 19, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?\\d){3})f/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 19, "raw": "/(?\\d){3})f/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 18, "raw": "(?\\d){3})f", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 18, "raw": "(?\\d){3})f", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 17, "raw": "(?\\d){3})", "kind": "lookbehind", "negate": true, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 16, "raw": "(?\\d){3}", "elements": [ { "type": "Quantifier", "parent": "♻️../..", "start": 5, "end": 16, "raw": "(?\\d){3}", "min": 3, "max": 3, "greedy": true, "element": { "type": "CapturingGroup", "parent": "♻️..", "start": 5, "end": 13, "raw": "(?\\d)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 10, "end": 12, "raw": "\\d", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 10, "end": 12, "raw": "\\d", "kind": "digit", "negate": false } ] } ], "references": [] } } ] } ] }, { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "f", "value": 102 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 19, "end": 19, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?(?(?(?(?(?.)|(?.))/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 27, "raw": "/(?<=(?.)|(?.))/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 25, "raw": "(?<=(?.)|(?.))", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 25, "raw": "(?<=(?.)|(?.))", "elements": [ { "type": "Assertion", "parent": "♻️../..", "start": 1, "end": 25, "raw": "(?<=(?.)|(?.))", "kind": "lookbehind", "negate": false, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 5, "end": 14, "raw": "(?.)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 5, "end": 14, "raw": "(?.)", "name": "fst", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 12, "end": 13, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 12, "end": 13, "raw": ".", "kind": "any" } ] } ], "references": [] } ] }, { "type": "Alternative", "parent": "♻️../..", "start": 15, "end": 24, "raw": "(?.)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 15, "end": 24, "raw": "(?.)", "name": "snd", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 22, "end": 23, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 22, "end": 23, "raw": ".", "kind": "any" } ] } ], "references": [] } ] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 26, "end": 27, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } } } }regexpp-3.2.0/test/fixtures/parser/literal/named-capturing-group-invalid-2017.json000066400000000000000000000024351406163405500300740ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2017 }, "patterns": { "/\\k/u": { "error": { "message": "Invalid regular expression: /\\k/u: Invalid escape", "index": 2 } }, "/\\k/u": { "error": { "message": "Invalid regular expression: /\\k/u: Invalid escape", "index": 2 } }, "/(?a)\\ka)\\ka)\\ka)\\ka)\\ka)\\ka)\\ka)\\ka)\\k/": { "error": { "message": "Invalid regular expression: /(?a)\\k/: Invalid group", "index": 2 } }, "/(?a)\\k/u": { "error": { "message": "Invalid regular expression: /(?a)\\k/u: Invalid group", "index": 2 } } } }regexpp-3.2.0/test/fixtures/parser/literal/named-capturing-group-invalid-2018.json000066400000000000000000000073601406163405500300770ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2018 }, "patterns": { "/(?a/": { "error": { "message": "Invalid regular expression: /(?a/: Invalid group", "index": 3 } }, "/(?a)/": { "error": { "message": "Invalid regular expression: /(?a)/: Invalid group", "index": 3 } }, "/(?/u": { "error": { "message": "Invalid regular expression: /\\k/u: Invalid named capture referenced", "index": 6 } }, "/(?a)\\ka)\\ka)\\ka)\\ka)\\ka)\\ka)\\ka)\\ka)\\2/u": { "error": { "message": "Invalid regular expression: /(?a)\\2/u: Invalid escape", "index": 10 } }, "/(?a)\\k/": { "error": { "message": "Invalid regular expression: /(?a)\\k/: Invalid named capture referenced", "index": 13 } }, "/(?a)\\k/u": { "error": { "message": "Invalid regular expression: /(?a)\\k/u: Invalid named capture referenced", "index": 13 } }, "/(?a)(?a)/": { "error": { "message": "Invalid regular expression: /(?a)(?a)/: Duplicate capture group name", "index": 13 } }, "/(?a)(?a)/u": { "error": { "message": "Invalid regular expression: /(?a)(?a)/u: Duplicate capture group name", "index": 13 } }, "/(?a)(?<\\u{61}>a)/u": { "error": { "message": "Invalid regular expression: /(?a)(?<\\u{61}>a)/u: Duplicate capture group name", "index": 18 } }, "/(?a)(?<\\u0061>a)/u": { "error": { "message": "Invalid regular expression: /(?a)(?<\\u0061>a)/u: Duplicate capture group name", "index": 18 } }, "/(?<☀>a)\\k<☀>/u": { "error": { "message": "Invalid regular expression: /(?<☀>a)\\k<☀>/u: Invalid capture group name", "index": 4 } }, "/(?<\\u0020>a)\\k<\\u0020>/u": { "error": { "message": "Invalid regular expression: /(?<\\u0020>a)\\k<\\u0020>/u: Invalid capture group name", "index": 4 } }, "/(?<\\u0061\\u0062\\u0063>a)\\k/u": { "error": { "message": "Invalid regular expression: /(?<\\u0061\\u0062\\u0063>a)\\k/u: Invalid named capture referenced", "index": 32 } }, "/(?<11>a)\\k<11>/u": { "error": { "message": "Invalid regular expression: /(?<11>a)\\k<11>/u: Invalid capture group name", "index": 4 } } } }regexpp-3.2.0/test/fixtures/parser/literal/named-capturing-group-valid-2017.json000066400000000000000000000061401406163405500275420ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2017 }, "patterns": { "/\\k/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\k/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\k", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\k", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\k", "value": 107 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\k/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/\\k/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "\\k", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\k", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\k", "value": 107 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "<", "value": 60 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": ">", "value": 62 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } } } }regexpp-3.2.0/test/fixtures/parser/literal/named-capturing-group-valid-2018.json000066400000000000000000001544131406163405500275520ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2018 }, "patterns": { "/(a)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/(a)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "(a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 4, "raw": "(a)", "name": null, "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 2, "end": 3, "raw": "a", "value": 97 } ] } ], "references": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?:a)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/(?:a)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "(?:a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?:a)", "elements": [ { "type": "Group", "parent": "♻️../..", "start": 1, "end": 6, "raw": "(?:a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 } ] } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 8, "raw": "/(?)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 7, "raw": "(?)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 7, "raw": "(?)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 6, "raw": "", "elements": [] } ], "references": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 8, "end": 8, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\k/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\k/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\k", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\k", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\k", "value": 107 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\k/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 7, "raw": "/\\k/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 6, "raw": "\\k", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\k", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\k", "value": 107 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "<", "value": 60 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "a", "value": 97 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": ">", "value": 62 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 7, "end": 7, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?a)\\k/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/(?a)\\k/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "(?a)\\k", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "(?a)\\k", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?a)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 8, "end": 13, "raw": "\\k", "ref": "a", "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?a)\\k/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 15, "raw": "/(?a)\\k/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "(?a)\\k", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "(?a)\\k", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?a)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 8, "end": 13, "raw": "\\k", "ref": "a", "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 15, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?a)\\1/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/(?a)\\1/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "(?a)\\1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "(?a)\\1", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?a)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 8, "end": 10, "raw": "\\1", "ref": 1, "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?a)\\1/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/(?a)\\1/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "(?a)\\1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "(?a)\\1", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?a)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 8, "end": 10, "raw": "\\1", "ref": 1, "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 12, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?a)\\2/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/(?a)\\2/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "(?a)\\2", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "(?a)\\2", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?a)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 10, "raw": "\\2", "value": 2 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?a)(?a)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 16, "raw": "/(?a)(?a)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 15, "raw": "(?a)(?a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 15, "raw": "(?a)(?a)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?a)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 8, "end": 15, "raw": "(?a)", "name": "b", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 13, "end": 14, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 13, "end": 14, "raw": "a", "value": 97 } ] } ], "references": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 16, "end": 16, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?a)(?a)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 17, "raw": "/(?a)(?a)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 15, "raw": "(?a)(?a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 15, "raw": "(?a)(?a)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?a)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "value": 97 } ] } ], "references": [] }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 8, "end": 15, "raw": "(?a)", "name": "b", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 13, "end": 14, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 13, "end": 14, "raw": "a", "value": 97 } ] } ], "references": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 16, "end": 17, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\k(?a)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 14, "raw": "/\\k(?a)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "\\k(?a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "\\k(?a)", "elements": [ { "type": "Backreference", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\k", "ref": "a", "resolved": "♻️../1" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 6, "end": 13, "raw": "(?a)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../0" ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 14, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\k(?a)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 15, "raw": "/\\k(?a)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "\\k(?a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "\\k(?a)", "elements": [ { "type": "Backreference", "parent": "♻️../..", "start": 1, "end": 6, "raw": "\\k", "ref": "a", "resolved": "♻️../1" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 6, "end": 13, "raw": "(?a)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 11, "end": 12, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../0" ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 15, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\1(?a)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/\\1(?a)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "\\1(?a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "\\1(?a)", "elements": [ { "type": "Backreference", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\1", "ref": 1, "resolved": "♻️../1" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 3, "end": 10, "raw": "(?a)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../0" ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\1(?a)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/\\1(?a)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "\\1(?a)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "\\1(?a)", "elements": [ { "type": "Backreference", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\1", "ref": 1, "resolved": "♻️../1" }, { "type": "CapturingGroup", "parent": "♻️../..", "start": 3, "end": 10, "raw": "(?a)", "name": "a", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../0" ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 12, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?<$abc>a)\\k<$abc>/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 21, "raw": "/(?<$abc>a)\\k<$abc>/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 19, "raw": "(?<$abc>a)\\k<$abc>", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 19, "raw": "(?<$abc>a)\\k<$abc>", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 11, "raw": "(?<$abc>a)", "name": "$abc", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 9, "end": 10, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 11, "end": 19, "raw": "\\k<$abc>", "ref": "$abc", "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 20, "end": 21, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?<あ>a)\\k<あ>/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 15, "raw": "/(?<あ>a)\\k<あ>/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 13, "raw": "(?<あ>a)\\k<あ>", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 13, "raw": "(?<あ>a)\\k<あ>", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 8, "raw": "(?<あ>a)", "name": "あ", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 8, "end": 13, "raw": "\\k<あ>", "ref": "あ", "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 14, "end": 15, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?<𠮷>a)\\k<\\u{20bb7}>/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 24, "raw": "/(?<𠮷>a)\\k<\\u{20bb7}>/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 22, "raw": "(?<𠮷>a)\\k<\\u{20bb7}>", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 22, "raw": "(?<𠮷>a)\\k<\\u{20bb7}>", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 9, "raw": "(?<𠮷>a)", "name": "𠮷", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 7, "end": 8, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 9, "end": 22, "raw": "\\k<\\u{20bb7}>", "ref": "𠮷", "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 23, "end": 24, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?<\\uD842\\uDFB7>a)\\k<\\u{20bb7}>/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 34, "raw": "/(?<\\uD842\\uDFB7>a)\\k<\\u{20bb7}>/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 32, "raw": "(?<\\uD842\\uDFB7>a)\\k<\\u{20bb7}>", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 32, "raw": "(?<\\uD842\\uDFB7>a)\\k<\\u{20bb7}>", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 19, "raw": "(?<\\uD842\\uDFB7>a)", "name": "𠮷", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 17, "end": 18, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 19, "end": 32, "raw": "\\k<\\u{20bb7}>", "ref": "𠮷", "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 33, "end": 34, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?<\\u{20bb7}>a)\\k<\\uD842\\uDFB7>/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 34, "raw": "/(?<\\u{20bb7}>a)\\k<\\uD842\\uDFB7>/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 32, "raw": "(?<\\u{20bb7}>a)\\k<\\uD842\\uDFB7>", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 32, "raw": "(?<\\u{20bb7}>a)\\k<\\uD842\\uDFB7>", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 16, "raw": "(?<\\u{20bb7}>a)", "name": "𠮷", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 14, "end": 15, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 16, "end": 32, "raw": "\\k<\\uD842\\uDFB7>", "ref": "𠮷", "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 33, "end": 34, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?a)\\k<\\u0061\\u0062\\u0063>/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 34, "raw": "/(?a)\\k<\\u0061\\u0062\\u0063>/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 32, "raw": "(?a)\\k<\\u0061\\u0062\\u0063>", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 32, "raw": "(?a)\\k<\\u0061\\u0062\\u0063>", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 10, "raw": "(?a)", "name": "abc", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 10, "end": 32, "raw": "\\k<\\u0061\\u0062\\u0063>", "ref": "abc", "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 33, "end": 34, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?<\\u0061\\u0062\\u0063>a)\\k/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 34, "raw": "/(?<\\u0061\\u0062\\u0063>a)\\k/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 32, "raw": "(?<\\u0061\\u0062\\u0063>a)\\k", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 32, "raw": "(?<\\u0061\\u0062\\u0063>a)\\k", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 25, "raw": "(?<\\u0061\\u0062\\u0063>a)", "name": "abc", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 25, "end": 32, "raw": "\\k", "ref": "abc", "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 33, "end": 34, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?<\\u0061\\u0062\\u0063>a)\\k<\\u{61}\\u{62}\\u{63}>/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 49, "raw": "/(?<\\u0061\\u0062\\u0063>a)\\k<\\u{61}\\u{62}\\u{63}>/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 47, "raw": "(?<\\u0061\\u0062\\u0063>a)\\k<\\u{61}\\u{62}\\u{63}>", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 47, "raw": "(?<\\u0061\\u0062\\u0063>a)\\k<\\u{61}\\u{62}\\u{63}>", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 25, "raw": "(?<\\u0061\\u0062\\u0063>a)", "name": "abc", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 23, "end": 24, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 25, "end": 47, "raw": "\\k<\\u{61}\\u{62}\\u{63}>", "ref": "abc", "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 48, "end": 49, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?a)\\k/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 17, "raw": "/(?a)\\k/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 15, "raw": "(?a)\\k", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 15, "raw": "(?a)\\k", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 9, "raw": "(?a)", "name": "a1", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 7, "end": 8, "raw": "a", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "a", "value": 97 } ] } ], "references": [ "♻️../1" ] }, { "type": "Backreference", "parent": "♻️../..", "start": 9, "end": 15, "raw": "\\k", "ref": "a1", "resolved": "♻️../0" } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 16, "end": 17, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } } } }regexpp-3.2.0/test/fixtures/parser/literal/unicode-group-names-invalid.json000066400000000000000000000021651406163405500271560ustar00rootroot00000000000000{ "options": { "ecmaVersion": 2020, "strict": false }, "patterns": { "/(?<\\ud83d\\ude80>.)/": { "error": { "message": "Invalid regular expression: /(?<\\ud83d\\ude80>.)/: Invalid capture group name", "index": 4 } }, "/(?<\\ud83d\\ude80>.)/u": { "error": { "message": "Invalid regular expression: /(?<\\ud83d\\ude80>.)/u: Invalid capture group name", "index": 4 } }, "/(?<\\u{1f680}>.)/": { "error": { "message": "Invalid regular expression: /(?<\\u{1f680}>.)/: Invalid capture group name", "index": 4 } }, "/(?<\\u{1f680}>.)/u": { "error": { "message": "Invalid regular expression: /(?<\\u{1f680}>.)/u: Invalid capture group name", "index": 4 } }, "/(?<🚀>.)/": { "error": { "message": "Invalid regular expression: /(?<🚀>.)/: Invalid capture group name", "index": 4 } }, "/(?<🚀>.)/u": { "error": { "message": "Invalid regular expression: /(?<🚀>.)/u: Invalid capture group name", "index": 4 } } } }regexpp-3.2.0/test/fixtures/parser/literal/unicode-group-names-valid.json000066400000000000000000000270151406163405500266300ustar00rootroot00000000000000{ "options": { "ecmaVersion": 2020, "strict": false }, "patterns": { "/(?<\\ud835\\udc9c>.)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 20, "raw": "/(?<\\ud835\\udc9c>.)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 19, "raw": "(?<\\ud835\\udc9c>.)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 19, "raw": "(?<\\ud835\\udc9c>.)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 19, "raw": "(?<\\ud835\\udc9c>.)", "name": "𝒜", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 17, "end": 18, "raw": ".", "kind": "any" } ] } ], "references": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 20, "end": 20, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?<\\ud835\\udc9c>.)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 21, "raw": "/(?<\\ud835\\udc9c>.)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 19, "raw": "(?<\\ud835\\udc9c>.)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 19, "raw": "(?<\\ud835\\udc9c>.)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 19, "raw": "(?<\\ud835\\udc9c>.)", "name": "𝒜", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 17, "end": 18, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 17, "end": 18, "raw": ".", "kind": "any" } ] } ], "references": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 20, "end": 21, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?<\\u{1d49c}>.)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 17, "raw": "/(?<\\u{1d49c}>.)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 16, "raw": "(?<\\u{1d49c}>.)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 16, "raw": "(?<\\u{1d49c}>.)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 16, "raw": "(?<\\u{1d49c}>.)", "name": "𝒜", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 14, "end": 15, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 14, "end": 15, "raw": ".", "kind": "any" } ] } ], "references": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 17, "end": 17, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?<\\u{1d49c}>.)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 18, "raw": "/(?<\\u{1d49c}>.)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 16, "raw": "(?<\\u{1d49c}>.)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 16, "raw": "(?<\\u{1d49c}>.)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 16, "raw": "(?<\\u{1d49c}>.)", "name": "𝒜", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 14, "end": 15, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 14, "end": 15, "raw": ".", "kind": "any" } ] } ], "references": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 17, "end": 18, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?<𝒜>.)/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/(?<𝒜>.)/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "(?<𝒜>.)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "(?<𝒜>.)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 9, "raw": "(?<𝒜>.)", "name": "𝒜", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 7, "end": 8, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 7, "end": 8, "raw": ".", "kind": "any" } ] } ], "references": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/(?<𝒜>.)/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/(?<𝒜>.)/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "(?<𝒜>.)", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "(?<𝒜>.)", "elements": [ { "type": "CapturingGroup", "parent": "♻️../..", "start": 1, "end": 9, "raw": "(?<𝒜>.)", "name": "𝒜", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 7, "end": 8, "raw": ".", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 7, "end": 8, "raw": ".", "kind": "any" } ] } ], "references": [] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 11, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } } } }regexpp-3.2.0/test/fixtures/parser/literal/unicode-property-escape-invalid-2017.json000066400000000000000000000012431406163405500304260ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2017 }, "patterns": { "/\\p/u": { "error": { "message": "Invalid regular expression: /\\p/u: Invalid escape", "index": 2 } }, "/\\p{/u": { "error": { "message": "Invalid regular expression: /\\p{/u: Invalid escape", "index": 2 } }, "/\\p{ASCII/u": { "error": { "message": "Invalid regular expression: /\\p{ASCII/u: Invalid escape", "index": 2 } }, "/\\p{ASCII}/u": { "error": { "message": "Invalid regular expression: /\\p{ASCII}/u: Invalid escape", "index": 2 } } } }regexpp-3.2.0/test/fixtures/parser/literal/unicode-property-escape-invalid-2018.json000066400000000000000000000035621406163405500304350ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2018 }, "patterns": { "/\\p/u": { "error": { "message": "Invalid regular expression: /\\p/u: Invalid property name", "index": 3 } }, "/\\p{/u": { "error": { "message": "Invalid regular expression: /\\p{/u: Invalid property name", "index": 4 } }, "/\\p{ASCII/u": { "error": { "message": "Invalid regular expression: /\\p{ASCII/u: Invalid property name", "index": 9 } }, "/\\p{General_Category}/u": { "error": { "message": "Invalid regular expression: /\\p{General_Category}/u: Invalid property name", "index": 20 } }, "/\\p{General_Category=}/u": { "error": { "message": "Invalid regular expression: /\\p{General_Category=}/u: Invalid property name", "index": 20 } }, "/\\p{General_Category/u": { "error": { "message": "Invalid regular expression: /\\p{General_Category/u: Invalid property name", "index": 20 } }, "/\\p{General_Category=/u": { "error": { "message": "Invalid regular expression: /\\p{General_Category=/u: Invalid property name", "index": 20 } }, "/\\p{General_Category=Letter/u": { "error": { "message": "Invalid regular expression: /\\p{General_Category=Letter/u: Invalid property name", "index": 27 } }, "/\\p{General_Category=Hiragana}/u": { "error": { "message": "Invalid regular expression: /\\p{General_Category=Hiragana}/u: Invalid property name", "index": 29 } }, "/[\\p{Script=Hiragana}-\\p{Script=Katakana}]/u": { "error": { "message": "Invalid regular expression: /[\\p{Script=Hiragana}-\\p{Script=Katakana}]/u: Invalid character class", "index": 41 } } } }regexpp-3.2.0/test/fixtures/parser/literal/unicode-property-escape-valid-2017.json000066400000000000000000000177761406163405500301210ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2017 }, "patterns": { "/\\p/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\p/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\p", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\p", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\p", "value": 112 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\p{/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\p{/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\p{", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\p{", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\p", "value": 112 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\p{ASCII/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/\\p{ASCII/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "\\p{ASCII", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "\\p{ASCII", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\p", "value": 112 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "A", "value": 65 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "S", "value": 83 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "C", "value": 67 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "I", "value": 73 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "I", "value": 73 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\p{ASCII}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/\\p{ASCII}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "\\p{ASCII}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "\\p{ASCII}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\p", "value": 112 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "A", "value": 65 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "S", "value": 83 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "C", "value": 67 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "I", "value": 73 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "I", "value": 73 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } } } }regexpp-3.2.0/test/fixtures/parser/literal/unicode-property-escape-valid-2018.json000066400000000000000000000423071406163405500301060ustar00rootroot00000000000000{ "options": { "strict": false, "ecmaVersion": 2018 }, "patterns": { "/\\p/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 4, "raw": "/\\p/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 3, "raw": "\\p", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\p", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\p", "value": 112 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 4, "end": 4, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\p{/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 5, "raw": "/\\p{/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 4, "raw": "\\p{", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 4, "raw": "\\p{", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\p", "value": 112 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 5, "end": 5, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\p{ASCII/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 10, "raw": "/\\p{ASCII/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 9, "raw": "\\p{ASCII", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 9, "raw": "\\p{ASCII", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\p", "value": 112 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "A", "value": 65 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "S", "value": 83 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "C", "value": 67 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "I", "value": 73 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "I", "value": 73 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 10, "end": 10, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\p{ASCII}/": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 11, "raw": "/\\p{ASCII}/", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "\\p{ASCII}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "\\p{ASCII}", "elements": [ { "type": "Character", "parent": "♻️../..", "start": 1, "end": 3, "raw": "\\p", "value": 112 }, { "type": "Character", "parent": "♻️../..", "start": 3, "end": 4, "raw": "{", "value": 123 }, { "type": "Character", "parent": "♻️../..", "start": 4, "end": 5, "raw": "A", "value": 65 }, { "type": "Character", "parent": "♻️../..", "start": 5, "end": 6, "raw": "S", "value": 83 }, { "type": "Character", "parent": "♻️../..", "start": 6, "end": 7, "raw": "C", "value": 67 }, { "type": "Character", "parent": "♻️../..", "start": 7, "end": 8, "raw": "I", "value": 73 }, { "type": "Character", "parent": "♻️../..", "start": 8, "end": 9, "raw": "I", "value": 73 }, { "type": "Character", "parent": "♻️../..", "start": 9, "end": 10, "raw": "}", "value": 125 } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 11, "raw": "", "global": false, "ignoreCase": false, "multiline": false, "unicode": false, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\p{ASCII}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/\\p{ASCII}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "\\p{ASCII}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "\\p{ASCII}", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 10, "raw": "\\p{ASCII}", "kind": "property", "key": "ASCII", "value": null, "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 12, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\p{Emoji}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 12, "raw": "/\\p{Emoji}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 10, "raw": "\\p{Emoji}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 10, "raw": "\\p{Emoji}", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 10, "raw": "\\p{Emoji}", "kind": "property", "key": "Emoji", "value": null, "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 11, "end": 12, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\p{General_Category=Letter}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 30, "raw": "/\\p{General_Category=Letter}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 28, "raw": "\\p{General_Category=Letter}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 28, "raw": "\\p{General_Category=Letter}", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 28, "raw": "\\p{General_Category=Letter}", "kind": "property", "key": "General_Category", "value": "Letter", "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 29, "end": 30, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\p{Script=Hiragana}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 22, "raw": "/\\p{Script=Hiragana}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 20, "raw": "\\p{Script=Hiragana}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 20, "raw": "\\p{Script=Hiragana}", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 20, "raw": "\\p{Script=Hiragana}", "kind": "property", "key": "Script", "value": "Hiragana", "negate": false } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 21, "end": 22, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 45, "raw": "/[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 43, "raw": "[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 43, "raw": "[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]", "elements": [ { "type": "CharacterClass", "parent": "♻️../..", "start": 1, "end": 43, "raw": "[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]", "negate": false, "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 2, "end": 21, "raw": "\\p{Script=Hiragana}", "kind": "property", "key": "Script", "value": "Hiragana", "negate": false }, { "type": "Character", "parent": "♻️../..", "start": 21, "end": 23, "raw": "\\-", "value": 45 }, { "type": "CharacterSet", "parent": "♻️../..", "start": 23, "end": 42, "raw": "\\p{Script=Katakana}", "kind": "property", "key": "Script", "value": "Katakana", "negate": false } ] } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 44, "end": 45, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } }, "/\\P{Letter}/u": { "ast": { "type": "RegExpLiteral", "parent": null, "start": 0, "end": 13, "raw": "/\\P{Letter}/u", "pattern": { "type": "Pattern", "parent": "♻️..", "start": 1, "end": 11, "raw": "\\P{Letter}", "alternatives": [ { "type": "Alternative", "parent": "♻️../..", "start": 1, "end": 11, "raw": "\\P{Letter}", "elements": [ { "type": "CharacterSet", "parent": "♻️../..", "start": 1, "end": 11, "raw": "\\P{Letter}", "kind": "property", "key": "General_Category", "value": "Letter", "negate": true } ] } ] }, "flags": { "type": "Flags", "parent": "♻️..", "start": 12, "end": 13, "raw": "u", "global": false, "ignoreCase": false, "multiline": false, "unicode": true, "sticky": false, "dotAll": false, "hasIndices": false } } } } }regexpp-3.2.0/test/fixtures/visitor/000077500000000000000000000000001406163405500175215ustar00rootroot00000000000000regexpp-3.2.0/test/fixtures/visitor/full.json000066400000000000000000007406371406163405500213770ustar00rootroot00000000000000{ "options": {}, "patterns": { "/foo/": [ "enter:RegExpLiteral:/foo/", "enter:Pattern:foo", "enter:Alternative:foo", "enter:Character:f", "leave:Character:f", "enter:Character:o", "leave:Character:o", "enter:Character:o", "leave:Character:o", "leave:Alternative:foo", "leave:Pattern:foo", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/foo/" ], "/foo|bar/": [ "enter:RegExpLiteral:/foo|bar/", "enter:Pattern:foo|bar", "enter:Alternative:foo", "enter:Character:f", "leave:Character:f", "enter:Character:o", "leave:Character:o", "enter:Character:o", "leave:Character:o", "leave:Alternative:foo", "enter:Alternative:bar", "enter:Character:b", "leave:Character:b", "enter:Character:a", "leave:Character:a", "enter:Character:r", "leave:Character:r", "leave:Alternative:bar", "leave:Pattern:foo|bar", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/foo|bar/" ], "/||||/": [ "enter:RegExpLiteral:/||||/", "enter:Pattern:||||", "enter:Alternative:", "leave:Alternative:", "enter:Alternative:", "leave:Alternative:", "enter:Alternative:", "leave:Alternative:", "enter:Alternative:", "leave:Alternative:", "enter:Alternative:", "leave:Alternative:", "leave:Pattern:||||", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/||||/" ], "/^|$|\\b|\\B/": [ "enter:RegExpLiteral:/^|$|\\b|\\B/", "enter:Pattern:^|$|\\b|\\B", "enter:Alternative:^", "enter:Assertion:^", "leave:Assertion:^", "leave:Alternative:^", "enter:Alternative:$", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:$", "enter:Alternative:\\b", "enter:Assertion:\\b", "leave:Assertion:\\b", "leave:Alternative:\\b", "enter:Alternative:\\B", "enter:Assertion:\\B", "leave:Assertion:\\B", "leave:Alternative:\\B", "leave:Pattern:^|$|\\b|\\B", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^|$|\\b|\\B/" ], "/(?=)/": [ "enter:RegExpLiteral:/(?=)/", "enter:Pattern:(?=)", "enter:Alternative:(?=)", "enter:Assertion:(?=)", "enter:Alternative:", "leave:Alternative:", "leave:Assertion:(?=)", "leave:Alternative:(?=)", "leave:Pattern:(?=)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?=)/" ], "/(?=foo)/": [ "enter:RegExpLiteral:/(?=foo)/", "enter:Pattern:(?=foo)", "enter:Alternative:(?=foo)", "enter:Assertion:(?=foo)", "enter:Alternative:foo", "enter:Character:f", "leave:Character:f", "enter:Character:o", "leave:Character:o", "enter:Character:o", "leave:Character:o", "leave:Alternative:foo", "leave:Assertion:(?=foo)", "leave:Alternative:(?=foo)", "leave:Pattern:(?=foo)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?=foo)/" ], "/(?!)/": [ "enter:RegExpLiteral:/(?!)/", "enter:Pattern:(?!)", "enter:Alternative:(?!)", "enter:Assertion:(?!)", "enter:Alternative:", "leave:Alternative:", "leave:Assertion:(?!)", "leave:Alternative:(?!)", "leave:Pattern:(?!)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?!)/" ], "/(?!foo)/": [ "enter:RegExpLiteral:/(?!foo)/", "enter:Pattern:(?!foo)", "enter:Alternative:(?!foo)", "enter:Assertion:(?!foo)", "enter:Alternative:foo", "enter:Character:f", "leave:Character:f", "enter:Character:o", "leave:Character:o", "enter:Character:o", "leave:Character:o", "leave:Alternative:foo", "leave:Assertion:(?!foo)", "leave:Alternative:(?!foo)", "leave:Pattern:(?!foo)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?!foo)/" ], "/(?=a)*/": [ "enter:RegExpLiteral:/(?=a)*/", "enter:Pattern:(?=a)*", "enter:Alternative:(?=a)*", "enter:Quantifier:(?=a)*", "enter:Assertion:(?=a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Assertion:(?=a)", "leave:Quantifier:(?=a)*", "leave:Alternative:(?=a)*", "leave:Pattern:(?=a)*", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?=a)*/" ], "/(?=a)+/": [ "enter:RegExpLiteral:/(?=a)+/", "enter:Pattern:(?=a)+", "enter:Alternative:(?=a)+", "enter:Quantifier:(?=a)+", "enter:Assertion:(?=a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Assertion:(?=a)", "leave:Quantifier:(?=a)+", "leave:Alternative:(?=a)+", "leave:Pattern:(?=a)+", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?=a)+/" ], "/(?=a)?/": [ "enter:RegExpLiteral:/(?=a)?/", "enter:Pattern:(?=a)?", "enter:Alternative:(?=a)?", "enter:Quantifier:(?=a)?", "enter:Assertion:(?=a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Assertion:(?=a)", "leave:Quantifier:(?=a)?", "leave:Alternative:(?=a)?", "leave:Pattern:(?=a)?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?=a)?/" ], "/(?=a){/": [ "enter:RegExpLiteral:/(?=a){/", "enter:Pattern:(?=a){", "enter:Alternative:(?=a){", "enter:Assertion:(?=a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Assertion:(?=a)", "enter:Character:{", "leave:Character:{", "leave:Alternative:(?=a){", "leave:Pattern:(?=a){", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?=a){/" ], "/(?=a){}/": [ "enter:RegExpLiteral:/(?=a){}/", "enter:Pattern:(?=a){}", "enter:Alternative:(?=a){}", "enter:Assertion:(?=a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Assertion:(?=a)", "enter:Character:{", "leave:Character:{", "enter:Character:}", "leave:Character:}", "leave:Alternative:(?=a){}", "leave:Pattern:(?=a){}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?=a){}/" ], "/(?=a){a}/": [ "enter:RegExpLiteral:/(?=a){a}/", "enter:Pattern:(?=a){a}", "enter:Alternative:(?=a){a}", "enter:Assertion:(?=a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Assertion:(?=a)", "enter:Character:{", "leave:Character:{", "enter:Character:a", "leave:Character:a", "enter:Character:}", "leave:Character:}", "leave:Alternative:(?=a){a}", "leave:Pattern:(?=a){a}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?=a){a}/" ], "/(?=a){1}/": [ "enter:RegExpLiteral:/(?=a){1}/", "enter:Pattern:(?=a){1}", "enter:Alternative:(?=a){1}", "enter:Quantifier:(?=a){1}", "enter:Assertion:(?=a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Assertion:(?=a)", "leave:Quantifier:(?=a){1}", "leave:Alternative:(?=a){1}", "leave:Pattern:(?=a){1}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?=a){1}/" ], "/(?=a){1,}/": [ "enter:RegExpLiteral:/(?=a){1,}/", "enter:Pattern:(?=a){1,}", "enter:Alternative:(?=a){1,}", "enter:Quantifier:(?=a){1,}", "enter:Assertion:(?=a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Assertion:(?=a)", "leave:Quantifier:(?=a){1,}", "leave:Alternative:(?=a){1,}", "leave:Pattern:(?=a){1,}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?=a){1,}/" ], "/(?=a){1,2}/": [ "enter:RegExpLiteral:/(?=a){1,2}/", "enter:Pattern:(?=a){1,2}", "enter:Alternative:(?=a){1,2}", "enter:Quantifier:(?=a){1,2}", "enter:Assertion:(?=a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Assertion:(?=a)", "leave:Quantifier:(?=a){1,2}", "leave:Alternative:(?=a){1,2}", "leave:Pattern:(?=a){1,2}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?=a){1,2}/" ], "/a*/": [ "enter:RegExpLiteral:/a*/", "enter:Pattern:a*", "enter:Alternative:a*", "enter:Quantifier:a*", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a*", "leave:Alternative:a*", "leave:Pattern:a*", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a*/" ], "/a+/": [ "enter:RegExpLiteral:/a+/", "enter:Pattern:a+", "enter:Alternative:a+", "enter:Quantifier:a+", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a+", "leave:Alternative:a+", "leave:Pattern:a+", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a+/" ], "/a?/": [ "enter:RegExpLiteral:/a?/", "enter:Pattern:a?", "enter:Alternative:a?", "enter:Quantifier:a?", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a?", "leave:Alternative:a?", "leave:Pattern:a?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a?/" ], "/a{/": [ "enter:RegExpLiteral:/a{/", "enter:Pattern:a{", "enter:Alternative:a{", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "leave:Alternative:a{", "leave:Pattern:a{", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{/" ], "/a{}/": [ "enter:RegExpLiteral:/a{}/", "enter:Pattern:a{}", "enter:Alternative:a{}", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "enter:Character:}", "leave:Character:}", "leave:Alternative:a{}", "leave:Pattern:a{}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{}/" ], "/a{a}/": [ "enter:RegExpLiteral:/a{a}/", "enter:Pattern:a{a}", "enter:Alternative:a{a}", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "enter:Character:a", "leave:Character:a", "enter:Character:}", "leave:Character:}", "leave:Alternative:a{a}", "leave:Pattern:a{a}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{a}/" ], "/a{1}/": [ "enter:RegExpLiteral:/a{1}/", "enter:Pattern:a{1}", "enter:Alternative:a{1}", "enter:Quantifier:a{1}", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a{1}", "leave:Alternative:a{1}", "leave:Pattern:a{1}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{1}/" ], "/a{1/": [ "enter:RegExpLiteral:/a{1/", "enter:Pattern:a{1", "enter:Alternative:a{1", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "enter:Character:1", "leave:Character:1", "leave:Alternative:a{1", "leave:Pattern:a{1", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{1/" ], "/a{1,}/": [ "enter:RegExpLiteral:/a{1,}/", "enter:Pattern:a{1,}", "enter:Alternative:a{1,}", "enter:Quantifier:a{1,}", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a{1,}", "leave:Alternative:a{1,}", "leave:Pattern:a{1,}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{1,}/" ], "/a{1,/": [ "enter:RegExpLiteral:/a{1,/", "enter:Pattern:a{1,", "enter:Alternative:a{1,", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "enter:Character:1", "leave:Character:1", "enter:Character:,", "leave:Character:,", "leave:Alternative:a{1,", "leave:Pattern:a{1,", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{1,/" ], "/a{1,2}/": [ "enter:RegExpLiteral:/a{1,2}/", "enter:Pattern:a{1,2}", "enter:Alternative:a{1,2}", "enter:Quantifier:a{1,2}", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a{1,2}", "leave:Alternative:a{1,2}", "leave:Pattern:a{1,2}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{1,2}/" ], "/a{1,2/": [ "enter:RegExpLiteral:/a{1,2/", "enter:Pattern:a{1,2", "enter:Alternative:a{1,2", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "enter:Character:1", "leave:Character:1", "enter:Character:,", "leave:Character:,", "enter:Character:2", "leave:Character:2", "leave:Alternative:a{1,2", "leave:Pattern:a{1,2", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{1,2/" ], "/a{2,1/": [ "enter:RegExpLiteral:/a{2,1/", "enter:Pattern:a{2,1", "enter:Alternative:a{2,1", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "enter:Character:2", "leave:Character:2", "enter:Character:,", "leave:Character:,", "enter:Character:1", "leave:Character:1", "leave:Alternative:a{2,1", "leave:Pattern:a{2,1", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{2,1/" ], "/a*?/": [ "enter:RegExpLiteral:/a*?/", "enter:Pattern:a*?", "enter:Alternative:a*?", "enter:Quantifier:a*?", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a*?", "leave:Alternative:a*?", "leave:Pattern:a*?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a*?/" ], "/a+?/": [ "enter:RegExpLiteral:/a+?/", "enter:Pattern:a+?", "enter:Alternative:a+?", "enter:Quantifier:a+?", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a+?", "leave:Alternative:a+?", "leave:Pattern:a+?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a+?/" ], "/a??/": [ "enter:RegExpLiteral:/a??/", "enter:Pattern:a??", "enter:Alternative:a??", "enter:Quantifier:a??", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a??", "leave:Alternative:a??", "leave:Pattern:a??", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a??/" ], "/a{?/": [ "enter:RegExpLiteral:/a{?/", "enter:Pattern:a{?", "enter:Alternative:a{?", "enter:Character:a", "leave:Character:a", "enter:Quantifier:{?", "enter:Character:{", "leave:Character:{", "leave:Quantifier:{?", "leave:Alternative:a{?", "leave:Pattern:a{?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{?/" ], "/a{}?/": [ "enter:RegExpLiteral:/a{}?/", "enter:Pattern:a{}?", "enter:Alternative:a{}?", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "enter:Quantifier:}?", "enter:Character:}", "leave:Character:}", "leave:Quantifier:}?", "leave:Alternative:a{}?", "leave:Pattern:a{}?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{}?/" ], "/a{a}?/": [ "enter:RegExpLiteral:/a{a}?/", "enter:Pattern:a{a}?", "enter:Alternative:a{a}?", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "enter:Character:a", "leave:Character:a", "enter:Quantifier:}?", "enter:Character:}", "leave:Character:}", "leave:Quantifier:}?", "leave:Alternative:a{a}?", "leave:Pattern:a{a}?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{a}?/" ], "/a{1}?/": [ "enter:RegExpLiteral:/a{1}?/", "enter:Pattern:a{1}?", "enter:Alternative:a{1}?", "enter:Quantifier:a{1}?", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a{1}?", "leave:Alternative:a{1}?", "leave:Pattern:a{1}?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{1}?/" ], "/a{1?/": [ "enter:RegExpLiteral:/a{1?/", "enter:Pattern:a{1?", "enter:Alternative:a{1?", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "enter:Quantifier:1?", "enter:Character:1", "leave:Character:1", "leave:Quantifier:1?", "leave:Alternative:a{1?", "leave:Pattern:a{1?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{1?/" ], "/a{1,}?/": [ "enter:RegExpLiteral:/a{1,}?/", "enter:Pattern:a{1,}?", "enter:Alternative:a{1,}?", "enter:Quantifier:a{1,}?", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a{1,}?", "leave:Alternative:a{1,}?", "leave:Pattern:a{1,}?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{1,}?/" ], "/a{1,?/": [ "enter:RegExpLiteral:/a{1,?/", "enter:Pattern:a{1,?", "enter:Alternative:a{1,?", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "enter:Character:1", "leave:Character:1", "enter:Quantifier:,?", "enter:Character:,", "leave:Character:,", "leave:Quantifier:,?", "leave:Alternative:a{1,?", "leave:Pattern:a{1,?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{1,?/" ], "/a{1,2}?/": [ "enter:RegExpLiteral:/a{1,2}?/", "enter:Pattern:a{1,2}?", "enter:Alternative:a{1,2}?", "enter:Quantifier:a{1,2}?", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a{1,2}?", "leave:Alternative:a{1,2}?", "leave:Pattern:a{1,2}?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{1,2}?/" ], "/a{1,2?/": [ "enter:RegExpLiteral:/a{1,2?/", "enter:Pattern:a{1,2?", "enter:Alternative:a{1,2?", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "enter:Character:1", "leave:Character:1", "enter:Character:,", "leave:Character:,", "enter:Quantifier:2?", "enter:Character:2", "leave:Character:2", "leave:Quantifier:2?", "leave:Alternative:a{1,2?", "leave:Pattern:a{1,2?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{1,2?/" ], "/a{2,1?/": [ "enter:RegExpLiteral:/a{2,1?/", "enter:Pattern:a{2,1?", "enter:Alternative:a{2,1?", "enter:Character:a", "leave:Character:a", "enter:Character:{", "leave:Character:{", "enter:Character:2", "leave:Character:2", "enter:Character:,", "leave:Character:,", "enter:Quantifier:1?", "enter:Character:1", "leave:Character:1", "leave:Quantifier:1?", "leave:Alternative:a{2,1?", "leave:Pattern:a{2,1?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/a{2,1?/" ], "/👍🚀❇️/": [ "enter:RegExpLiteral:/👍🚀❇️/", "enter:Pattern:👍🚀❇️", "enter:Alternative:👍🚀❇️", "enter:Character:\ud83d", "leave:Character:\ud83d", "enter:Character:\udc4d", "leave:Character:\udc4d", "enter:Character:\ud83d", "leave:Character:\ud83d", "enter:Character:\ude80", "leave:Character:\ude80", "enter:Character:❇", "leave:Character:❇", "enter:Character:️", "leave:Character:️", "leave:Alternative:👍🚀❇️", "leave:Pattern:👍🚀❇️", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/👍🚀❇️/" ], "/^/": [ "enter:RegExpLiteral:/^/", "enter:Pattern:^", "enter:Alternative:^", "enter:Assertion:^", "leave:Assertion:^", "leave:Alternative:^", "leave:Pattern:^", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^/" ], "/$/": [ "enter:RegExpLiteral:/$/", "enter:Pattern:$", "enter:Alternative:$", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:$", "leave:Pattern:$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/$/" ], "/./": [ "enter:RegExpLiteral:/./", "enter:Pattern:.", "enter:Alternative:.", "enter:CharacterSet:.", "leave:CharacterSet:.", "leave:Alternative:.", "leave:Pattern:.", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/./" ], "/]/": [ "enter:RegExpLiteral:/]/", "enter:Pattern:]", "enter:Alternative:]", "enter:Character:]", "leave:Character:]", "leave:Alternative:]", "leave:Pattern:]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/]/" ], "/{/": [ "enter:RegExpLiteral:/{/", "enter:Pattern:{", "enter:Alternative:{", "enter:Character:{", "leave:Character:{", "leave:Alternative:{", "leave:Pattern:{", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/{/" ], "/}/": [ "enter:RegExpLiteral:/}/", "enter:Pattern:}", "enter:Alternative:}", "enter:Character:}", "leave:Character:}", "leave:Alternative:}", "leave:Pattern:}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/}/" ], "/|/": [ "enter:RegExpLiteral:/|/", "enter:Pattern:|", "enter:Alternative:", "leave:Alternative:", "enter:Alternative:", "leave:Alternative:", "leave:Pattern:|", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/|/" ], "/${1,2/": [ "enter:RegExpLiteral:/${1,2/", "enter:Pattern:${1,2", "enter:Alternative:${1,2", "enter:Assertion:$", "leave:Assertion:$", "enter:Character:{", "leave:Character:{", "enter:Character:1", "leave:Character:1", "enter:Character:,", "leave:Character:,", "enter:Character:2", "leave:Character:2", "leave:Alternative:${1,2", "leave:Pattern:${1,2", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/${1,2/" ], "/\\1/": [ "enter:RegExpLiteral:/\\1/", "enter:Pattern:\\1", "enter:Alternative:\\1", "enter:Character:\\1", "leave:Character:\\1", "leave:Alternative:\\1", "leave:Pattern:\\1", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\1/" ], "/(a)\\1/": [ "enter:RegExpLiteral:/(a)\\1/", "enter:Pattern:(a)\\1", "enter:Alternative:(a)\\1", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:Backreference:\\1", "leave:Backreference:\\1", "leave:Alternative:(a)\\1", "leave:Pattern:(a)\\1", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(a)\\1/" ], "/\\1(a)/": [ "enter:RegExpLiteral:/\\1(a)/", "enter:Pattern:\\1(a)", "enter:Alternative:\\1(a)", "enter:Backreference:\\1", "leave:Backreference:\\1", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "leave:Alternative:\\1(a)", "leave:Pattern:\\1(a)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\1(a)/" ], "/(?:a)\\1/": [ "enter:RegExpLiteral:/(?:a)\\1/", "enter:Pattern:(?:a)\\1", "enter:Alternative:(?:a)\\1", "enter:Group:(?:a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Group:(?:a)", "enter:Character:\\1", "leave:Character:\\1", "leave:Alternative:(?:a)\\1", "leave:Pattern:(?:a)\\1", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?:a)\\1/" ], "/(a)\\2/": [ "enter:RegExpLiteral:/(a)\\2/", "enter:Pattern:(a)\\2", "enter:Alternative:(a)\\2", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:Character:\\2", "leave:Character:\\2", "leave:Alternative:(a)\\2", "leave:Pattern:(a)\\2", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(a)\\2/" ], "/(?:a)\\2/": [ "enter:RegExpLiteral:/(?:a)\\2/", "enter:Pattern:(?:a)\\2", "enter:Alternative:(?:a)\\2", "enter:Group:(?:a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Group:(?:a)", "enter:Character:\\2", "leave:Character:\\2", "leave:Alternative:(?:a)\\2", "leave:Pattern:(?:a)\\2", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?:a)\\2/" ], "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10/": [ "enter:RegExpLiteral:/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10/", "enter:Pattern:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "enter:Alternative:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:Backreference:\\10", "leave:Backreference:\\10", "leave:Alternative:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "leave:Pattern:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10/" ], "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/": [ "enter:RegExpLiteral:/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/", "enter:Pattern:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "enter:Alternative:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:Character:\\11", "leave:Character:\\11", "leave:Alternative:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "leave:Pattern:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/" ], "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/": [ "enter:RegExpLiteral:/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/", "enter:Pattern:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "enter:Alternative:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:Backreference:\\11", "leave:Backreference:\\11", "leave:Alternative:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "leave:Pattern:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/" ], "/(?:a)/": [ "enter:RegExpLiteral:/(?:a)/", "enter:Pattern:(?:a)", "enter:Alternative:(?:a)", "enter:Group:(?:a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Group:(?:a)", "leave:Alternative:(?:a)", "leave:Pattern:(?:a)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?:a)/" ], "/\\d/": [ "enter:RegExpLiteral:/\\d/", "enter:Pattern:\\d", "enter:Alternative:\\d", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Alternative:\\d", "leave:Pattern:\\d", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\d/" ], "/\\D/": [ "enter:RegExpLiteral:/\\D/", "enter:Pattern:\\D", "enter:Alternative:\\D", "enter:CharacterSet:\\D", "leave:CharacterSet:\\D", "leave:Alternative:\\D", "leave:Pattern:\\D", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\D/" ], "/\\s/": [ "enter:RegExpLiteral:/\\s/", "enter:Pattern:\\s", "enter:Alternative:\\s", "enter:CharacterSet:\\s", "leave:CharacterSet:\\s", "leave:Alternative:\\s", "leave:Pattern:\\s", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\s/" ], "/\\S/": [ "enter:RegExpLiteral:/\\S/", "enter:Pattern:\\S", "enter:Alternative:\\S", "enter:CharacterSet:\\S", "leave:CharacterSet:\\S", "leave:Alternative:\\S", "leave:Pattern:\\S", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\S/" ], "/\\w/": [ "enter:RegExpLiteral:/\\w/", "enter:Pattern:\\w", "enter:Alternative:\\w", "enter:CharacterSet:\\w", "leave:CharacterSet:\\w", "leave:Alternative:\\w", "leave:Pattern:\\w", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\w/" ], "/\\W/": [ "enter:RegExpLiteral:/\\W/", "enter:Pattern:\\W", "enter:Alternative:\\W", "enter:CharacterSet:\\W", "leave:CharacterSet:\\W", "leave:Alternative:\\W", "leave:Pattern:\\W", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\W/" ], "/\\f/": [ "enter:RegExpLiteral:/\\f/", "enter:Pattern:\\f", "enter:Alternative:\\f", "enter:Character:\\f", "leave:Character:\\f", "leave:Alternative:\\f", "leave:Pattern:\\f", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\f/" ], "/\\n/": [ "enter:RegExpLiteral:/\\n/", "enter:Pattern:\\n", "enter:Alternative:\\n", "enter:Character:\\n", "leave:Character:\\n", "leave:Alternative:\\n", "leave:Pattern:\\n", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\n/" ], "/\\r/": [ "enter:RegExpLiteral:/\\r/", "enter:Pattern:\\r", "enter:Alternative:\\r", "enter:Character:\\r", "leave:Character:\\r", "leave:Alternative:\\r", "leave:Pattern:\\r", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\r/" ], "/\\t/": [ "enter:RegExpLiteral:/\\t/", "enter:Pattern:\\t", "enter:Alternative:\\t", "enter:Character:\\t", "leave:Character:\\t", "leave:Alternative:\\t", "leave:Pattern:\\t", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\t/" ], "/\\v/": [ "enter:RegExpLiteral:/\\v/", "enter:Pattern:\\v", "enter:Alternative:\\v", "enter:Character:\\v", "leave:Character:\\v", "leave:Alternative:\\v", "leave:Pattern:\\v", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\v/" ], "/\\cA/": [ "enter:RegExpLiteral:/\\cA/", "enter:Pattern:\\cA", "enter:Alternative:\\cA", "enter:Character:\\cA", "leave:Character:\\cA", "leave:Alternative:\\cA", "leave:Pattern:\\cA", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\cA/" ], "/\\cz/": [ "enter:RegExpLiteral:/\\cz/", "enter:Pattern:\\cz", "enter:Alternative:\\cz", "enter:Character:\\cz", "leave:Character:\\cz", "leave:Alternative:\\cz", "leave:Pattern:\\cz", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\cz/" ], "/\\c1/": [ "enter:RegExpLiteral:/\\c1/", "enter:Pattern:\\c1", "enter:Alternative:\\c1", "enter:Character:\\", "leave:Character:\\", "enter:Character:c", "leave:Character:c", "enter:Character:1", "leave:Character:1", "leave:Alternative:\\c1", "leave:Pattern:\\c1", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\c1/" ], "/\\c/": [ "enter:RegExpLiteral:/\\c/", "enter:Pattern:\\c", "enter:Alternative:\\c", "enter:Character:\\", "leave:Character:\\", "enter:Character:c", "leave:Character:c", "leave:Alternative:\\c", "leave:Pattern:\\c", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\c/" ], "/\\0/": [ "enter:RegExpLiteral:/\\0/", "enter:Pattern:\\0", "enter:Alternative:\\0", "enter:Character:\\0", "leave:Character:\\0", "leave:Alternative:\\0", "leave:Pattern:\\0", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\0/" ], "/\\u/": [ "enter:RegExpLiteral:/\\u/", "enter:Pattern:\\u", "enter:Alternative:\\u", "enter:Character:\\u", "leave:Character:\\u", "leave:Alternative:\\u", "leave:Pattern:\\u", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u/" ], "/\\u1/": [ "enter:RegExpLiteral:/\\u1/", "enter:Pattern:\\u1", "enter:Alternative:\\u1", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:1", "leave:Character:1", "leave:Alternative:\\u1", "leave:Pattern:\\u1", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u1/" ], "/\\u12/": [ "enter:RegExpLiteral:/\\u12/", "enter:Pattern:\\u12", "enter:Alternative:\\u12", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:1", "leave:Character:1", "enter:Character:2", "leave:Character:2", "leave:Alternative:\\u12", "leave:Pattern:\\u12", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u12/" ], "/\\u123/": [ "enter:RegExpLiteral:/\\u123/", "enter:Pattern:\\u123", "enter:Alternative:\\u123", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:1", "leave:Character:1", "enter:Character:2", "leave:Character:2", "enter:Character:3", "leave:Character:3", "leave:Alternative:\\u123", "leave:Pattern:\\u123", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u123/" ], "/\\u1234/": [ "enter:RegExpLiteral:/\\u1234/", "enter:Pattern:\\u1234", "enter:Alternative:\\u1234", "enter:Character:\\u1234", "leave:Character:\\u1234", "leave:Alternative:\\u1234", "leave:Pattern:\\u1234", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u1234/" ], "/\\u12345/": [ "enter:RegExpLiteral:/\\u12345/", "enter:Pattern:\\u12345", "enter:Alternative:\\u12345", "enter:Character:\\u1234", "leave:Character:\\u1234", "enter:Character:5", "leave:Character:5", "leave:Alternative:\\u12345", "leave:Pattern:\\u12345", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u12345/" ], "/\\u{/": [ "enter:RegExpLiteral:/\\u{/", "enter:Pattern:\\u{", "enter:Alternative:\\u{", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "leave:Alternative:\\u{", "leave:Pattern:\\u{", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u{/" ], "/\\u{z/": [ "enter:RegExpLiteral:/\\u{z/", "enter:Pattern:\\u{z", "enter:Alternative:\\u{z", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "enter:Character:z", "leave:Character:z", "leave:Alternative:\\u{z", "leave:Pattern:\\u{z", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u{z/" ], "/\\u{a}/": [ "enter:RegExpLiteral:/\\u{a}/", "enter:Pattern:\\u{a}", "enter:Alternative:\\u{a}", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "enter:Character:a", "leave:Character:a", "enter:Character:}", "leave:Character:}", "leave:Alternative:\\u{a}", "leave:Pattern:\\u{a}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u{a}/" ], "/\\u{20/": [ "enter:RegExpLiteral:/\\u{20/", "enter:Pattern:\\u{20", "enter:Alternative:\\u{20", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "enter:Character:2", "leave:Character:2", "enter:Character:0", "leave:Character:0", "leave:Alternative:\\u{20", "leave:Pattern:\\u{20", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u{20/" ], "/\\u{20}/": [ "enter:RegExpLiteral:/\\u{20}/", "enter:Pattern:\\u{20}", "enter:Alternative:\\u{20}", "enter:Quantifier:\\u{20}", "enter:Character:\\u", "leave:Character:\\u", "leave:Quantifier:\\u{20}", "leave:Alternative:\\u{20}", "leave:Pattern:\\u{20}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u{20}/" ], "/\\u{10FFFF}/": [ "enter:RegExpLiteral:/\\u{10FFFF}/", "enter:Pattern:\\u{10FFFF}", "enter:Alternative:\\u{10FFFF}", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "enter:Character:1", "leave:Character:1", "enter:Character:0", "leave:Character:0", "enter:Character:F", "leave:Character:F", "enter:Character:F", "leave:Character:F", "enter:Character:F", "leave:Character:F", "enter:Character:F", "leave:Character:F", "enter:Character:}", "leave:Character:}", "leave:Alternative:\\u{10FFFF}", "leave:Pattern:\\u{10FFFF}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u{10FFFF}/" ], "/\\u{110000}/": [ "enter:RegExpLiteral:/\\u{110000}/", "enter:Pattern:\\u{110000}", "enter:Alternative:\\u{110000}", "enter:Quantifier:\\u{110000}", "enter:Character:\\u", "leave:Character:\\u", "leave:Quantifier:\\u{110000}", "leave:Alternative:\\u{110000}", "leave:Pattern:\\u{110000}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u{110000}/" ], "/\\u{00000001}/": [ "enter:RegExpLiteral:/\\u{00000001}/", "enter:Pattern:\\u{00000001}", "enter:Alternative:\\u{00000001}", "enter:Quantifier:\\u{00000001}", "enter:Character:\\u", "leave:Character:\\u", "leave:Quantifier:\\u{00000001}", "leave:Alternative:\\u{00000001}", "leave:Pattern:\\u{00000001}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\u{00000001}/" ], "/\\377/": [ "enter:RegExpLiteral:/\\377/", "enter:Pattern:\\377", "enter:Alternative:\\377", "enter:Character:\\377", "leave:Character:\\377", "leave:Alternative:\\377", "leave:Pattern:\\377", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\377/" ], "/\\400/": [ "enter:RegExpLiteral:/\\400/", "enter:Pattern:\\400", "enter:Alternative:\\400", "enter:Character:\\40", "leave:Character:\\40", "enter:Character:0", "leave:Character:0", "leave:Alternative:\\400", "leave:Pattern:\\400", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\400/" ], "/\\^/": [ "enter:RegExpLiteral:/\\^/", "enter:Pattern:\\^", "enter:Alternative:\\^", "enter:Character:\\^", "leave:Character:\\^", "leave:Alternative:\\^", "leave:Pattern:\\^", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\^/" ], "/\\$/": [ "enter:RegExpLiteral:/\\$/", "enter:Pattern:\\$", "enter:Alternative:\\$", "enter:Character:\\$", "leave:Character:\\$", "leave:Alternative:\\$", "leave:Pattern:\\$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\$/" ], "/\\./": [ "enter:RegExpLiteral:/\\./", "enter:Pattern:\\.", "enter:Alternative:\\.", "enter:Character:\\.", "leave:Character:\\.", "leave:Alternative:\\.", "leave:Pattern:\\.", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\./" ], "/\\+/": [ "enter:RegExpLiteral:/\\+/", "enter:Pattern:\\+", "enter:Alternative:\\+", "enter:Character:\\+", "leave:Character:\\+", "leave:Alternative:\\+", "leave:Pattern:\\+", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\+/" ], "/\\?/": [ "enter:RegExpLiteral:/\\?/", "enter:Pattern:\\?", "enter:Alternative:\\?", "enter:Character:\\?", "leave:Character:\\?", "leave:Alternative:\\?", "leave:Pattern:\\?", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\?/" ], "/\\(/": [ "enter:RegExpLiteral:/\\(/", "enter:Pattern:\\(", "enter:Alternative:\\(", "enter:Character:\\(", "leave:Character:\\(", "leave:Alternative:\\(", "leave:Pattern:\\(", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\(/" ], "/\\)/": [ "enter:RegExpLiteral:/\\)/", "enter:Pattern:\\)", "enter:Alternative:\\)", "enter:Character:\\)", "leave:Character:\\)", "leave:Alternative:\\)", "leave:Pattern:\\)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\)/" ], "/\\[/": [ "enter:RegExpLiteral:/\\[/", "enter:Pattern:\\[", "enter:Alternative:\\[", "enter:Character:\\[", "leave:Character:\\[", "leave:Alternative:\\[", "leave:Pattern:\\[", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\[/" ], "/\\]/": [ "enter:RegExpLiteral:/\\]/", "enter:Pattern:\\]", "enter:Alternative:\\]", "enter:Character:\\]", "leave:Character:\\]", "leave:Alternative:\\]", "leave:Pattern:\\]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\]/" ], "/\\{/": [ "enter:RegExpLiteral:/\\{/", "enter:Pattern:\\{", "enter:Alternative:\\{", "enter:Character:\\{", "leave:Character:\\{", "leave:Alternative:\\{", "leave:Pattern:\\{", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\{/" ], "/\\}/": [ "enter:RegExpLiteral:/\\}/", "enter:Pattern:\\}", "enter:Alternative:\\}", "enter:Character:\\}", "leave:Character:\\}", "leave:Alternative:\\}", "leave:Pattern:\\}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\}/" ], "/\\|/": [ "enter:RegExpLiteral:/\\|/", "enter:Pattern:\\|", "enter:Alternative:\\|", "enter:Character:\\|", "leave:Character:\\|", "leave:Alternative:\\|", "leave:Pattern:\\|", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\|/" ], "/\\//": [ "enter:RegExpLiteral:/\\//", "enter:Pattern:\\/", "enter:Alternative:\\/", "enter:Character:\\/", "leave:Character:\\/", "leave:Alternative:\\/", "leave:Pattern:\\/", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\//" ], "/\\a/": [ "enter:RegExpLiteral:/\\a/", "enter:Pattern:\\a", "enter:Alternative:\\a", "enter:Character:\\a", "leave:Character:\\a", "leave:Alternative:\\a", "leave:Pattern:\\a", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\a/" ], "/[]/": [ "enter:RegExpLiteral:/[]/", "enter:Pattern:[]", "enter:Alternative:[]", "enter:CharacterClass:[]", "leave:CharacterClass:[]", "leave:Alternative:[]", "leave:Pattern:[]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[]/" ], "/[^-a-b-]/": [ "enter:RegExpLiteral:/[^-a-b-]/", "enter:Pattern:[^-a-b-]", "enter:Alternative:[^-a-b-]", "enter:CharacterClass:[^-a-b-]", "enter:Character:-", "leave:Character:-", "enter:CharacterClassRange:a-b", "enter:Character:a", "leave:Character:a", "enter:Character:b", "leave:Character:b", "leave:CharacterClassRange:a-b", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[^-a-b-]", "leave:Alternative:[^-a-b-]", "leave:Pattern:[^-a-b-]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[^-a-b-]/" ], "/[-]/": [ "enter:RegExpLiteral:/[-]/", "enter:Pattern:[-]", "enter:Alternative:[-]", "enter:CharacterClass:[-]", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[-]", "leave:Alternative:[-]", "leave:Pattern:[-]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[-]/" ], "/[a]/": [ "enter:RegExpLiteral:/[a]/", "enter:Pattern:[a]", "enter:Alternative:[a]", "enter:CharacterClass:[a]", "enter:Character:a", "leave:Character:a", "leave:CharacterClass:[a]", "leave:Alternative:[a]", "leave:Pattern:[a]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[a]/" ], "/[--]/": [ "enter:RegExpLiteral:/[--]/", "enter:Pattern:[--]", "enter:Alternative:[--]", "enter:CharacterClass:[--]", "enter:Character:-", "leave:Character:-", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[--]", "leave:Alternative:[--]", "leave:Pattern:[--]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[--]/" ], "/[-a]/": [ "enter:RegExpLiteral:/[-a]/", "enter:Pattern:[-a]", "enter:Alternative:[-a]", "enter:CharacterClass:[-a]", "enter:Character:-", "leave:Character:-", "enter:Character:a", "leave:Character:a", "leave:CharacterClass:[-a]", "leave:Alternative:[-a]", "leave:Pattern:[-a]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[-a]/" ], "/[-a-]/": [ "enter:RegExpLiteral:/[-a-]/", "enter:Pattern:[-a-]", "enter:Alternative:[-a-]", "enter:CharacterClass:[-a-]", "enter:Character:-", "leave:Character:-", "enter:Character:a", "leave:Character:a", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[-a-]", "leave:Alternative:[-a-]", "leave:Pattern:[-a-]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[-a-]/" ], "/[a-]/": [ "enter:RegExpLiteral:/[a-]/", "enter:Pattern:[a-]", "enter:Alternative:[a-]", "enter:CharacterClass:[a-]", "enter:Character:a", "leave:Character:a", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[a-]", "leave:Alternative:[a-]", "leave:Pattern:[a-]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[a-]/" ], "/[a-b]/": [ "enter:RegExpLiteral:/[a-b]/", "enter:Pattern:[a-b]", "enter:Alternative:[a-b]", "enter:CharacterClass:[a-b]", "enter:CharacterClassRange:a-b", "enter:Character:a", "leave:Character:a", "enter:Character:b", "leave:Character:b", "leave:CharacterClassRange:a-b", "leave:CharacterClass:[a-b]", "leave:Alternative:[a-b]", "leave:Pattern:[a-b]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[a-b]/" ], "/[-a-b-]/": [ "enter:RegExpLiteral:/[-a-b-]/", "enter:Pattern:[-a-b-]", "enter:Alternative:[-a-b-]", "enter:CharacterClass:[-a-b-]", "enter:Character:-", "leave:Character:-", "enter:CharacterClassRange:a-b", "enter:Character:a", "leave:Character:a", "enter:Character:b", "leave:Character:b", "leave:CharacterClassRange:a-b", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[-a-b-]", "leave:Alternative:[-a-b-]", "leave:Pattern:[-a-b-]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[-a-b-]/" ], "/[---]/": [ "enter:RegExpLiteral:/[---]/", "enter:Pattern:[---]", "enter:Alternative:[---]", "enter:CharacterClass:[---]", "enter:CharacterClassRange:---", "enter:Character:-", "leave:Character:-", "enter:Character:-", "leave:Character:-", "leave:CharacterClassRange:---", "leave:CharacterClass:[---]", "leave:Alternative:[---]", "leave:Pattern:[---]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[---]/" ], "/[a-b--/]/": [ "enter:RegExpLiteral:/[a-b--/]/", "enter:Pattern:[a-b--/]", "enter:Alternative:[a-b--/]", "enter:CharacterClass:[a-b--/]", "enter:CharacterClassRange:a-b", "enter:Character:a", "leave:Character:a", "enter:Character:b", "leave:Character:b", "leave:CharacterClassRange:a-b", "enter:CharacterClassRange:--/", "enter:Character:-", "leave:Character:-", "enter:Character:/", "leave:Character:/", "leave:CharacterClassRange:--/", "leave:CharacterClass:[a-b--/]", "leave:Alternative:[a-b--/]", "leave:Pattern:[a-b--/]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[a-b--/]/" ], "/[\\b-\\n]/": [ "enter:RegExpLiteral:/[\\b-\\n]/", "enter:Pattern:[\\b-\\n]", "enter:Alternative:[\\b-\\n]", "enter:CharacterClass:[\\b-\\n]", "enter:CharacterClassRange:\\b-\\n", "enter:Character:\\b", "leave:Character:\\b", "enter:Character:\\n", "leave:Character:\\n", "leave:CharacterClassRange:\\b-\\n", "leave:CharacterClass:[\\b-\\n]", "leave:Alternative:[\\b-\\n]", "leave:Pattern:[\\b-\\n]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\b-\\n]/" ], "/[b\\-a]/": [ "enter:RegExpLiteral:/[b\\-a]/", "enter:Pattern:[b\\-a]", "enter:Alternative:[b\\-a]", "enter:CharacterClass:[b\\-a]", "enter:Character:b", "leave:Character:b", "enter:Character:\\-", "leave:Character:\\-", "enter:Character:a", "leave:Character:a", "leave:CharacterClass:[b\\-a]", "leave:Alternative:[b\\-a]", "leave:Pattern:[b\\-a]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[b\\-a]/" ], "/[\\d]/": [ "enter:RegExpLiteral:/[\\d]/", "enter:Pattern:[\\d]", "enter:Alternative:[\\d]", "enter:CharacterClass:[\\d]", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:CharacterClass:[\\d]", "leave:Alternative:[\\d]", "leave:Pattern:[\\d]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\d]/" ], "/[\\D]/": [ "enter:RegExpLiteral:/[\\D]/", "enter:Pattern:[\\D]", "enter:Alternative:[\\D]", "enter:CharacterClass:[\\D]", "enter:CharacterSet:\\D", "leave:CharacterSet:\\D", "leave:CharacterClass:[\\D]", "leave:Alternative:[\\D]", "leave:Pattern:[\\D]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\D]/" ], "/[\\s]/": [ "enter:RegExpLiteral:/[\\s]/", "enter:Pattern:[\\s]", "enter:Alternative:[\\s]", "enter:CharacterClass:[\\s]", "enter:CharacterSet:\\s", "leave:CharacterSet:\\s", "leave:CharacterClass:[\\s]", "leave:Alternative:[\\s]", "leave:Pattern:[\\s]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\s]/" ], "/[\\S]/": [ "enter:RegExpLiteral:/[\\S]/", "enter:Pattern:[\\S]", "enter:Alternative:[\\S]", "enter:CharacterClass:[\\S]", "enter:CharacterSet:\\S", "leave:CharacterSet:\\S", "leave:CharacterClass:[\\S]", "leave:Alternative:[\\S]", "leave:Pattern:[\\S]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\S]/" ], "/[\\w]/": [ "enter:RegExpLiteral:/[\\w]/", "enter:Pattern:[\\w]", "enter:Alternative:[\\w]", "enter:CharacterClass:[\\w]", "enter:CharacterSet:\\w", "leave:CharacterSet:\\w", "leave:CharacterClass:[\\w]", "leave:Alternative:[\\w]", "leave:Pattern:[\\w]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\w]/" ], "/[\\W]/": [ "enter:RegExpLiteral:/[\\W]/", "enter:Pattern:[\\W]", "enter:Alternative:[\\W]", "enter:CharacterClass:[\\W]", "enter:CharacterSet:\\W", "leave:CharacterSet:\\W", "leave:CharacterClass:[\\W]", "leave:Alternative:[\\W]", "leave:Pattern:[\\W]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\W]/" ], "/[\\f]/": [ "enter:RegExpLiteral:/[\\f]/", "enter:Pattern:[\\f]", "enter:Alternative:[\\f]", "enter:CharacterClass:[\\f]", "enter:Character:\\f", "leave:Character:\\f", "leave:CharacterClass:[\\f]", "leave:Alternative:[\\f]", "leave:Pattern:[\\f]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\f]/" ], "/[\\n]/": [ "enter:RegExpLiteral:/[\\n]/", "enter:Pattern:[\\n]", "enter:Alternative:[\\n]", "enter:CharacterClass:[\\n]", "enter:Character:\\n", "leave:Character:\\n", "leave:CharacterClass:[\\n]", "leave:Alternative:[\\n]", "leave:Pattern:[\\n]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\n]/" ], "/[\\r]/": [ "enter:RegExpLiteral:/[\\r]/", "enter:Pattern:[\\r]", "enter:Alternative:[\\r]", "enter:CharacterClass:[\\r]", "enter:Character:\\r", "leave:Character:\\r", "leave:CharacterClass:[\\r]", "leave:Alternative:[\\r]", "leave:Pattern:[\\r]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\r]/" ], "/[\\t]/": [ "enter:RegExpLiteral:/[\\t]/", "enter:Pattern:[\\t]", "enter:Alternative:[\\t]", "enter:CharacterClass:[\\t]", "enter:Character:\\t", "leave:Character:\\t", "leave:CharacterClass:[\\t]", "leave:Alternative:[\\t]", "leave:Pattern:[\\t]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\t]/" ], "/[\\v]/": [ "enter:RegExpLiteral:/[\\v]/", "enter:Pattern:[\\v]", "enter:Alternative:[\\v]", "enter:CharacterClass:[\\v]", "enter:Character:\\v", "leave:Character:\\v", "leave:CharacterClass:[\\v]", "leave:Alternative:[\\v]", "leave:Pattern:[\\v]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\v]/" ], "/[\\cA]/": [ "enter:RegExpLiteral:/[\\cA]/", "enter:Pattern:[\\cA]", "enter:Alternative:[\\cA]", "enter:CharacterClass:[\\cA]", "enter:Character:\\cA", "leave:Character:\\cA", "leave:CharacterClass:[\\cA]", "leave:Alternative:[\\cA]", "leave:Pattern:[\\cA]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\cA]/" ], "/[\\cz]/": [ "enter:RegExpLiteral:/[\\cz]/", "enter:Pattern:[\\cz]", "enter:Alternative:[\\cz]", "enter:CharacterClass:[\\cz]", "enter:Character:\\cz", "leave:Character:\\cz", "leave:CharacterClass:[\\cz]", "leave:Alternative:[\\cz]", "leave:Pattern:[\\cz]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\cz]/" ], "/[\\c1]/": [ "enter:RegExpLiteral:/[\\c1]/", "enter:Pattern:[\\c1]", "enter:Alternative:[\\c1]", "enter:CharacterClass:[\\c1]", "enter:Character:\\c1", "leave:Character:\\c1", "leave:CharacterClass:[\\c1]", "leave:Alternative:[\\c1]", "leave:Pattern:[\\c1]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\c1]/" ], "/[\\c]/": [ "enter:RegExpLiteral:/[\\c]/", "enter:Pattern:[\\c]", "enter:Alternative:[\\c]", "enter:CharacterClass:[\\c]", "enter:Character:\\", "leave:Character:\\", "enter:Character:c", "leave:Character:c", "leave:CharacterClass:[\\c]", "leave:Alternative:[\\c]", "leave:Pattern:[\\c]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\c]/" ], "/[\\0]/": [ "enter:RegExpLiteral:/[\\0]/", "enter:Pattern:[\\0]", "enter:Alternative:[\\0]", "enter:CharacterClass:[\\0]", "enter:Character:\\0", "leave:Character:\\0", "leave:CharacterClass:[\\0]", "leave:Alternative:[\\0]", "leave:Pattern:[\\0]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\0]/" ], "/[\\x]/": [ "enter:RegExpLiteral:/[\\x]/", "enter:Pattern:[\\x]", "enter:Alternative:[\\x]", "enter:CharacterClass:[\\x]", "enter:Character:\\x", "leave:Character:\\x", "leave:CharacterClass:[\\x]", "leave:Alternative:[\\x]", "leave:Pattern:[\\x]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\x]/" ], "/[\\xz]/": [ "enter:RegExpLiteral:/[\\xz]/", "enter:Pattern:[\\xz]", "enter:Alternative:[\\xz]", "enter:CharacterClass:[\\xz]", "enter:Character:\\x", "leave:Character:\\x", "enter:Character:z", "leave:Character:z", "leave:CharacterClass:[\\xz]", "leave:Alternative:[\\xz]", "leave:Pattern:[\\xz]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\xz]/" ], "/[\\x1]/": [ "enter:RegExpLiteral:/[\\x1]/", "enter:Pattern:[\\x1]", "enter:Alternative:[\\x1]", "enter:CharacterClass:[\\x1]", "enter:Character:\\x", "leave:Character:\\x", "enter:Character:1", "leave:Character:1", "leave:CharacterClass:[\\x1]", "leave:Alternative:[\\x1]", "leave:Pattern:[\\x1]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\x1]/" ], "/[\\x12]/": [ "enter:RegExpLiteral:/[\\x12]/", "enter:Pattern:[\\x12]", "enter:Alternative:[\\x12]", "enter:CharacterClass:[\\x12]", "enter:Character:\\x12", "leave:Character:\\x12", "leave:CharacterClass:[\\x12]", "leave:Alternative:[\\x12]", "leave:Pattern:[\\x12]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\x12]/" ], "/[\\x123]/": [ "enter:RegExpLiteral:/[\\x123]/", "enter:Pattern:[\\x123]", "enter:Alternative:[\\x123]", "enter:CharacterClass:[\\x123]", "enter:Character:\\x12", "leave:Character:\\x12", "enter:Character:3", "leave:Character:3", "leave:CharacterClass:[\\x123]", "leave:Alternative:[\\x123]", "leave:Pattern:[\\x123]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\x123]/" ], "/[\\u]/": [ "enter:RegExpLiteral:/[\\u]/", "enter:Pattern:[\\u]", "enter:Alternative:[\\u]", "enter:CharacterClass:[\\u]", "enter:Character:\\u", "leave:Character:\\u", "leave:CharacterClass:[\\u]", "leave:Alternative:[\\u]", "leave:Pattern:[\\u]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u]/" ], "/[\\u1]/": [ "enter:RegExpLiteral:/[\\u1]/", "enter:Pattern:[\\u1]", "enter:Alternative:[\\u1]", "enter:CharacterClass:[\\u1]", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:1", "leave:Character:1", "leave:CharacterClass:[\\u1]", "leave:Alternative:[\\u1]", "leave:Pattern:[\\u1]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u1]/" ], "/[\\u12]/": [ "enter:RegExpLiteral:/[\\u12]/", "enter:Pattern:[\\u12]", "enter:Alternative:[\\u12]", "enter:CharacterClass:[\\u12]", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:1", "leave:Character:1", "enter:Character:2", "leave:Character:2", "leave:CharacterClass:[\\u12]", "leave:Alternative:[\\u12]", "leave:Pattern:[\\u12]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u12]/" ], "/[\\u123]/": [ "enter:RegExpLiteral:/[\\u123]/", "enter:Pattern:[\\u123]", "enter:Alternative:[\\u123]", "enter:CharacterClass:[\\u123]", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:1", "leave:Character:1", "enter:Character:2", "leave:Character:2", "enter:Character:3", "leave:Character:3", "leave:CharacterClass:[\\u123]", "leave:Alternative:[\\u123]", "leave:Pattern:[\\u123]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u123]/" ], "/[\\u1234]/": [ "enter:RegExpLiteral:/[\\u1234]/", "enter:Pattern:[\\u1234]", "enter:Alternative:[\\u1234]", "enter:CharacterClass:[\\u1234]", "enter:Character:\\u1234", "leave:Character:\\u1234", "leave:CharacterClass:[\\u1234]", "leave:Alternative:[\\u1234]", "leave:Pattern:[\\u1234]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u1234]/" ], "/[\\u12345]/": [ "enter:RegExpLiteral:/[\\u12345]/", "enter:Pattern:[\\u12345]", "enter:Alternative:[\\u12345]", "enter:CharacterClass:[\\u12345]", "enter:Character:\\u1234", "leave:Character:\\u1234", "enter:Character:5", "leave:Character:5", "leave:CharacterClass:[\\u12345]", "leave:Alternative:[\\u12345]", "leave:Pattern:[\\u12345]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u12345]/" ], "/[\\u{]/": [ "enter:RegExpLiteral:/[\\u{]/", "enter:Pattern:[\\u{]", "enter:Alternative:[\\u{]", "enter:CharacterClass:[\\u{]", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "leave:CharacterClass:[\\u{]", "leave:Alternative:[\\u{]", "leave:Pattern:[\\u{]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u{]/" ], "/[\\u{z]/": [ "enter:RegExpLiteral:/[\\u{z]/", "enter:Pattern:[\\u{z]", "enter:Alternative:[\\u{z]", "enter:CharacterClass:[\\u{z]", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "enter:Character:z", "leave:Character:z", "leave:CharacterClass:[\\u{z]", "leave:Alternative:[\\u{z]", "leave:Pattern:[\\u{z]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u{z]/" ], "/[\\u{a}]/": [ "enter:RegExpLiteral:/[\\u{a}]/", "enter:Pattern:[\\u{a}]", "enter:Alternative:[\\u{a}]", "enter:CharacterClass:[\\u{a}]", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "enter:Character:a", "leave:Character:a", "enter:Character:}", "leave:Character:}", "leave:CharacterClass:[\\u{a}]", "leave:Alternative:[\\u{a}]", "leave:Pattern:[\\u{a}]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u{a}]/" ], "/[\\u{20]/": [ "enter:RegExpLiteral:/[\\u{20]/", "enter:Pattern:[\\u{20]", "enter:Alternative:[\\u{20]", "enter:CharacterClass:[\\u{20]", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "enter:Character:2", "leave:Character:2", "enter:Character:0", "leave:Character:0", "leave:CharacterClass:[\\u{20]", "leave:Alternative:[\\u{20]", "leave:Pattern:[\\u{20]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u{20]/" ], "/[\\u{20}]/": [ "enter:RegExpLiteral:/[\\u{20}]/", "enter:Pattern:[\\u{20}]", "enter:Alternative:[\\u{20}]", "enter:CharacterClass:[\\u{20}]", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "enter:Character:2", "leave:Character:2", "enter:Character:0", "leave:Character:0", "enter:Character:}", "leave:Character:}", "leave:CharacterClass:[\\u{20}]", "leave:Alternative:[\\u{20}]", "leave:Pattern:[\\u{20}]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u{20}]/" ], "/[\\u{10FFFF}]/": [ "enter:RegExpLiteral:/[\\u{10FFFF}]/", "enter:Pattern:[\\u{10FFFF}]", "enter:Alternative:[\\u{10FFFF}]", "enter:CharacterClass:[\\u{10FFFF}]", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "enter:Character:1", "leave:Character:1", "enter:Character:0", "leave:Character:0", "enter:Character:F", "leave:Character:F", "enter:Character:F", "leave:Character:F", "enter:Character:F", "leave:Character:F", "enter:Character:F", "leave:Character:F", "enter:Character:}", "leave:Character:}", "leave:CharacterClass:[\\u{10FFFF}]", "leave:Alternative:[\\u{10FFFF}]", "leave:Pattern:[\\u{10FFFF}]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u{10FFFF}]/" ], "/[\\u{110000}]/": [ "enter:RegExpLiteral:/[\\u{110000}]/", "enter:Pattern:[\\u{110000}]", "enter:Alternative:[\\u{110000}]", "enter:CharacterClass:[\\u{110000}]", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "enter:Character:1", "leave:Character:1", "enter:Character:1", "leave:Character:1", "enter:Character:0", "leave:Character:0", "enter:Character:0", "leave:Character:0", "enter:Character:0", "leave:Character:0", "enter:Character:0", "leave:Character:0", "enter:Character:}", "leave:Character:}", "leave:CharacterClass:[\\u{110000}]", "leave:Alternative:[\\u{110000}]", "leave:Pattern:[\\u{110000}]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u{110000}]/" ], "/[\\u{00000001}]/": [ "enter:RegExpLiteral:/[\\u{00000001}]/", "enter:Pattern:[\\u{00000001}]", "enter:Alternative:[\\u{00000001}]", "enter:CharacterClass:[\\u{00000001}]", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "enter:Character:0", "leave:Character:0", "enter:Character:0", "leave:Character:0", "enter:Character:0", "leave:Character:0", "enter:Character:0", "leave:Character:0", "enter:Character:0", "leave:Character:0", "enter:Character:0", "leave:Character:0", "enter:Character:0", "leave:Character:0", "enter:Character:1", "leave:Character:1", "enter:Character:}", "leave:Character:}", "leave:CharacterClass:[\\u{00000001}]", "leave:Alternative:[\\u{00000001}]", "leave:Pattern:[\\u{00000001}]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u{00000001}]/" ], "/[\\77]/": [ "enter:RegExpLiteral:/[\\77]/", "enter:Pattern:[\\77]", "enter:Alternative:[\\77]", "enter:CharacterClass:[\\77]", "enter:Character:\\77", "leave:Character:\\77", "leave:CharacterClass:[\\77]", "leave:Alternative:[\\77]", "leave:Pattern:[\\77]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\77]/" ], "/[\\377]/": [ "enter:RegExpLiteral:/[\\377]/", "enter:Pattern:[\\377]", "enter:Alternative:[\\377]", "enter:CharacterClass:[\\377]", "enter:Character:\\377", "leave:Character:\\377", "leave:CharacterClass:[\\377]", "leave:Alternative:[\\377]", "leave:Pattern:[\\377]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\377]/" ], "/[\\400]/": [ "enter:RegExpLiteral:/[\\400]/", "enter:Pattern:[\\400]", "enter:Alternative:[\\400]", "enter:CharacterClass:[\\400]", "enter:Character:\\40", "leave:Character:\\40", "enter:Character:0", "leave:Character:0", "leave:CharacterClass:[\\400]", "leave:Alternative:[\\400]", "leave:Pattern:[\\400]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\400]/" ], "/[\\^]/": [ "enter:RegExpLiteral:/[\\^]/", "enter:Pattern:[\\^]", "enter:Alternative:[\\^]", "enter:CharacterClass:[\\^]", "enter:Character:\\^", "leave:Character:\\^", "leave:CharacterClass:[\\^]", "leave:Alternative:[\\^]", "leave:Pattern:[\\^]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\^]/" ], "/[\\$]/": [ "enter:RegExpLiteral:/[\\$]/", "enter:Pattern:[\\$]", "enter:Alternative:[\\$]", "enter:CharacterClass:[\\$]", "enter:Character:\\$", "leave:Character:\\$", "leave:CharacterClass:[\\$]", "leave:Alternative:[\\$]", "leave:Pattern:[\\$]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\$]/" ], "/[\\.]/": [ "enter:RegExpLiteral:/[\\.]/", "enter:Pattern:[\\.]", "enter:Alternative:[\\.]", "enter:CharacterClass:[\\.]", "enter:Character:\\.", "leave:Character:\\.", "leave:CharacterClass:[\\.]", "leave:Alternative:[\\.]", "leave:Pattern:[\\.]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\.]/" ], "/[\\+]/": [ "enter:RegExpLiteral:/[\\+]/", "enter:Pattern:[\\+]", "enter:Alternative:[\\+]", "enter:CharacterClass:[\\+]", "enter:Character:\\+", "leave:Character:\\+", "leave:CharacterClass:[\\+]", "leave:Alternative:[\\+]", "leave:Pattern:[\\+]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\+]/" ], "/[\\?]/": [ "enter:RegExpLiteral:/[\\?]/", "enter:Pattern:[\\?]", "enter:Alternative:[\\?]", "enter:CharacterClass:[\\?]", "enter:Character:\\?", "leave:Character:\\?", "leave:CharacterClass:[\\?]", "leave:Alternative:[\\?]", "leave:Pattern:[\\?]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\?]/" ], "/[\\(]/": [ "enter:RegExpLiteral:/[\\(]/", "enter:Pattern:[\\(]", "enter:Alternative:[\\(]", "enter:CharacterClass:[\\(]", "enter:Character:\\(", "leave:Character:\\(", "leave:CharacterClass:[\\(]", "leave:Alternative:[\\(]", "leave:Pattern:[\\(]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\(]/" ], "/[\\)]/": [ "enter:RegExpLiteral:/[\\)]/", "enter:Pattern:[\\)]", "enter:Alternative:[\\)]", "enter:CharacterClass:[\\)]", "enter:Character:\\)", "leave:Character:\\)", "leave:CharacterClass:[\\)]", "leave:Alternative:[\\)]", "leave:Pattern:[\\)]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\)]/" ], "/[\\[]/": [ "enter:RegExpLiteral:/[\\[]/", "enter:Pattern:[\\[]", "enter:Alternative:[\\[]", "enter:CharacterClass:[\\[]", "enter:Character:\\[", "leave:Character:\\[", "leave:CharacterClass:[\\[]", "leave:Alternative:[\\[]", "leave:Pattern:[\\[]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\[]/" ], "/[\\]]/": [ "enter:RegExpLiteral:/[\\]]/", "enter:Pattern:[\\]]", "enter:Alternative:[\\]]", "enter:CharacterClass:[\\]]", "enter:Character:\\]", "leave:Character:\\]", "leave:CharacterClass:[\\]]", "leave:Alternative:[\\]]", "leave:Pattern:[\\]]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\]]/" ], "/[\\{]/": [ "enter:RegExpLiteral:/[\\{]/", "enter:Pattern:[\\{]", "enter:Alternative:[\\{]", "enter:CharacterClass:[\\{]", "enter:Character:\\{", "leave:Character:\\{", "leave:CharacterClass:[\\{]", "leave:Alternative:[\\{]", "leave:Pattern:[\\{]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\{]/" ], "/[\\}]/": [ "enter:RegExpLiteral:/[\\}]/", "enter:Pattern:[\\}]", "enter:Alternative:[\\}]", "enter:CharacterClass:[\\}]", "enter:Character:\\}", "leave:Character:\\}", "leave:CharacterClass:[\\}]", "leave:Alternative:[\\}]", "leave:Pattern:[\\}]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\}]/" ], "/[\\|]/": [ "enter:RegExpLiteral:/[\\|]/", "enter:Pattern:[\\|]", "enter:Alternative:[\\|]", "enter:CharacterClass:[\\|]", "enter:Character:\\|", "leave:Character:\\|", "leave:CharacterClass:[\\|]", "leave:Alternative:[\\|]", "leave:Pattern:[\\|]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\|]/" ], "/[\\/]/": [ "enter:RegExpLiteral:/[\\/]/", "enter:Pattern:[\\/]", "enter:Alternative:[\\/]", "enter:CharacterClass:[\\/]", "enter:Character:\\/", "leave:Character:\\/", "leave:CharacterClass:[\\/]", "leave:Alternative:[\\/]", "leave:Pattern:[\\/]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\/]/" ], "/[\\a]/": [ "enter:RegExpLiteral:/[\\a]/", "enter:Pattern:[\\a]", "enter:Alternative:[\\a]", "enter:CharacterClass:[\\a]", "enter:Character:\\a", "leave:Character:\\a", "leave:CharacterClass:[\\a]", "leave:Alternative:[\\a]", "leave:Pattern:[\\a]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\a]/" ], "/[\\d-\\uFFFF]/": [ "enter:RegExpLiteral:/[\\d-\\uFFFF]/", "enter:Pattern:[\\d-\\uFFFF]", "enter:Alternative:[\\d-\\uFFFF]", "enter:CharacterClass:[\\d-\\uFFFF]", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "enter:Character:-", "leave:Character:-", "enter:Character:\\uFFFF", "leave:Character:\\uFFFF", "leave:CharacterClass:[\\d-\\uFFFF]", "leave:Alternative:[\\d-\\uFFFF]", "leave:Pattern:[\\d-\\uFFFF]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\d-\\uFFFF]/" ], "/[\\D-\\uFFFF]/": [ "enter:RegExpLiteral:/[\\D-\\uFFFF]/", "enter:Pattern:[\\D-\\uFFFF]", "enter:Alternative:[\\D-\\uFFFF]", "enter:CharacterClass:[\\D-\\uFFFF]", "enter:CharacterSet:\\D", "leave:CharacterSet:\\D", "enter:Character:-", "leave:Character:-", "enter:Character:\\uFFFF", "leave:Character:\\uFFFF", "leave:CharacterClass:[\\D-\\uFFFF]", "leave:Alternative:[\\D-\\uFFFF]", "leave:Pattern:[\\D-\\uFFFF]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\D-\\uFFFF]/" ], "/[\\s-\\uFFFF]/": [ "enter:RegExpLiteral:/[\\s-\\uFFFF]/", "enter:Pattern:[\\s-\\uFFFF]", "enter:Alternative:[\\s-\\uFFFF]", "enter:CharacterClass:[\\s-\\uFFFF]", "enter:CharacterSet:\\s", "leave:CharacterSet:\\s", "enter:Character:-", "leave:Character:-", "enter:Character:\\uFFFF", "leave:Character:\\uFFFF", "leave:CharacterClass:[\\s-\\uFFFF]", "leave:Alternative:[\\s-\\uFFFF]", "leave:Pattern:[\\s-\\uFFFF]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\s-\\uFFFF]/" ], "/[\\S-\\uFFFF]/": [ "enter:RegExpLiteral:/[\\S-\\uFFFF]/", "enter:Pattern:[\\S-\\uFFFF]", "enter:Alternative:[\\S-\\uFFFF]", "enter:CharacterClass:[\\S-\\uFFFF]", "enter:CharacterSet:\\S", "leave:CharacterSet:\\S", "enter:Character:-", "leave:Character:-", "enter:Character:\\uFFFF", "leave:Character:\\uFFFF", "leave:CharacterClass:[\\S-\\uFFFF]", "leave:Alternative:[\\S-\\uFFFF]", "leave:Pattern:[\\S-\\uFFFF]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\S-\\uFFFF]/" ], "/[\\w-\\uFFFF]/": [ "enter:RegExpLiteral:/[\\w-\\uFFFF]/", "enter:Pattern:[\\w-\\uFFFF]", "enter:Alternative:[\\w-\\uFFFF]", "enter:CharacterClass:[\\w-\\uFFFF]", "enter:CharacterSet:\\w", "leave:CharacterSet:\\w", "enter:Character:-", "leave:Character:-", "enter:Character:\\uFFFF", "leave:Character:\\uFFFF", "leave:CharacterClass:[\\w-\\uFFFF]", "leave:Alternative:[\\w-\\uFFFF]", "leave:Pattern:[\\w-\\uFFFF]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\w-\\uFFFF]/" ], "/[\\W-\\uFFFF]/": [ "enter:RegExpLiteral:/[\\W-\\uFFFF]/", "enter:Pattern:[\\W-\\uFFFF]", "enter:Alternative:[\\W-\\uFFFF]", "enter:CharacterClass:[\\W-\\uFFFF]", "enter:CharacterSet:\\W", "leave:CharacterSet:\\W", "enter:Character:-", "leave:Character:-", "enter:Character:\\uFFFF", "leave:Character:\\uFFFF", "leave:CharacterClass:[\\W-\\uFFFF]", "leave:Alternative:[\\W-\\uFFFF]", "leave:Pattern:[\\W-\\uFFFF]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\W-\\uFFFF]/" ], "/[\\u0000-\\d]/": [ "enter:RegExpLiteral:/[\\u0000-\\d]/", "enter:Pattern:[\\u0000-\\d]", "enter:Alternative:[\\u0000-\\d]", "enter:CharacterClass:[\\u0000-\\d]", "enter:Character:\\u0000", "leave:Character:\\u0000", "enter:Character:-", "leave:Character:-", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:CharacterClass:[\\u0000-\\d]", "leave:Alternative:[\\u0000-\\d]", "leave:Pattern:[\\u0000-\\d]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u0000-\\d]/" ], "/[\\u0000-\\D]/": [ "enter:RegExpLiteral:/[\\u0000-\\D]/", "enter:Pattern:[\\u0000-\\D]", "enter:Alternative:[\\u0000-\\D]", "enter:CharacterClass:[\\u0000-\\D]", "enter:Character:\\u0000", "leave:Character:\\u0000", "enter:Character:-", "leave:Character:-", "enter:CharacterSet:\\D", "leave:CharacterSet:\\D", "leave:CharacterClass:[\\u0000-\\D]", "leave:Alternative:[\\u0000-\\D]", "leave:Pattern:[\\u0000-\\D]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u0000-\\D]/" ], "/[\\u0000-\\s]/": [ "enter:RegExpLiteral:/[\\u0000-\\s]/", "enter:Pattern:[\\u0000-\\s]", "enter:Alternative:[\\u0000-\\s]", "enter:CharacterClass:[\\u0000-\\s]", "enter:Character:\\u0000", "leave:Character:\\u0000", "enter:Character:-", "leave:Character:-", "enter:CharacterSet:\\s", "leave:CharacterSet:\\s", "leave:CharacterClass:[\\u0000-\\s]", "leave:Alternative:[\\u0000-\\s]", "leave:Pattern:[\\u0000-\\s]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u0000-\\s]/" ], "/[\\u0000-\\S]/": [ "enter:RegExpLiteral:/[\\u0000-\\S]/", "enter:Pattern:[\\u0000-\\S]", "enter:Alternative:[\\u0000-\\S]", "enter:CharacterClass:[\\u0000-\\S]", "enter:Character:\\u0000", "leave:Character:\\u0000", "enter:Character:-", "leave:Character:-", "enter:CharacterSet:\\S", "leave:CharacterSet:\\S", "leave:CharacterClass:[\\u0000-\\S]", "leave:Alternative:[\\u0000-\\S]", "leave:Pattern:[\\u0000-\\S]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u0000-\\S]/" ], "/[\\u0000-\\w]/": [ "enter:RegExpLiteral:/[\\u0000-\\w]/", "enter:Pattern:[\\u0000-\\w]", "enter:Alternative:[\\u0000-\\w]", "enter:CharacterClass:[\\u0000-\\w]", "enter:Character:\\u0000", "leave:Character:\\u0000", "enter:Character:-", "leave:Character:-", "enter:CharacterSet:\\w", "leave:CharacterSet:\\w", "leave:CharacterClass:[\\u0000-\\w]", "leave:Alternative:[\\u0000-\\w]", "leave:Pattern:[\\u0000-\\w]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u0000-\\w]/" ], "/[\\u0000-\\W]/": [ "enter:RegExpLiteral:/[\\u0000-\\W]/", "enter:Pattern:[\\u0000-\\W]", "enter:Alternative:[\\u0000-\\W]", "enter:CharacterClass:[\\u0000-\\W]", "enter:Character:\\u0000", "leave:Character:\\u0000", "enter:Character:-", "leave:Character:-", "enter:CharacterSet:\\W", "leave:CharacterSet:\\W", "leave:CharacterClass:[\\u0000-\\W]", "leave:Alternative:[\\u0000-\\W]", "leave:Pattern:[\\u0000-\\W]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u0000-\\W]/" ], "/[\\u0000-\\u0001]/": [ "enter:RegExpLiteral:/[\\u0000-\\u0001]/", "enter:Pattern:[\\u0000-\\u0001]", "enter:Alternative:[\\u0000-\\u0001]", "enter:CharacterClass:[\\u0000-\\u0001]", "enter:CharacterClassRange:\\u0000-\\u0001", "enter:Character:\\u0000", "leave:Character:\\u0000", "enter:Character:\\u0001", "leave:Character:\\u0001", "leave:CharacterClassRange:\\u0000-\\u0001", "leave:CharacterClass:[\\u0000-\\u0001]", "leave:Alternative:[\\u0000-\\u0001]", "leave:Pattern:[\\u0000-\\u0001]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u0000-\\u0001]/" ], "/[\\u{2-\\u{1}]/": [ "enter:RegExpLiteral:/[\\u{2-\\u{1}]/", "enter:Pattern:[\\u{2-\\u{1}]", "enter:Alternative:[\\u{2-\\u{1}]", "enter:CharacterClass:[\\u{2-\\u{1}]", "enter:Character:\\u", "leave:Character:\\u", "enter:Character:{", "leave:Character:{", "enter:CharacterClassRange:2-\\u", "enter:Character:2", "leave:Character:2", "enter:Character:\\u", "leave:Character:\\u", "leave:CharacterClassRange:2-\\u", "enter:Character:{", "leave:Character:{", "enter:Character:1", "leave:Character:1", "enter:Character:}", "leave:Character:}", "leave:CharacterClass:[\\u{2-\\u{1}]", "leave:Alternative:[\\u{2-\\u{1}]", "leave:Pattern:[\\u{2-\\u{1}]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\u{2-\\u{1}]/" ], "/[\\a-\\z]/": [ "enter:RegExpLiteral:/[\\a-\\z]/", "enter:Pattern:[\\a-\\z]", "enter:Alternative:[\\a-\\z]", "enter:CharacterClass:[\\a-\\z]", "enter:CharacterClassRange:\\a-\\z", "enter:Character:\\a", "leave:Character:\\a", "enter:Character:\\z", "leave:Character:\\z", "leave:CharacterClassRange:\\a-\\z", "leave:CharacterClass:[\\a-\\z]", "leave:Alternative:[\\a-\\z]", "leave:Pattern:[\\a-\\z]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\a-\\z]/" ], "/[0-9--/]/": [ "enter:RegExpLiteral:/[0-9--/]/", "enter:Pattern:[0-9--/]", "enter:Alternative:[0-9--/]", "enter:CharacterClass:[0-9--/]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "enter:CharacterClassRange:--/", "enter:Character:-", "leave:Character:-", "enter:Character:/", "leave:Character:/", "leave:CharacterClassRange:--/", "leave:CharacterClass:[0-9--/]", "leave:Alternative:[0-9--/]", "leave:Pattern:[0-9--/]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[0-9--/]/" ], "/[\\c0-\u001f]/": [ "enter:RegExpLiteral:/[\\c0-\u001f]/", "enter:Pattern:[\\c0-\u001f]", "enter:Alternative:[\\c0-\u001f]", "enter:CharacterClass:[\\c0-\u001f]", "enter:CharacterClassRange:\\c0-\u001f", "enter:Character:\\c0", "leave:Character:\\c0", "enter:Character:\u001f", "leave:Character:\u001f", "leave:CharacterClassRange:\\c0-\u001f", "leave:CharacterClass:[\\c0-\u001f]", "leave:Alternative:[\\c0-\u001f]", "leave:Pattern:[\\c0-\u001f]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\c0-\u001f]/" ], "/[\\c_]/": [ "enter:RegExpLiteral:/[\\c_]/", "enter:Pattern:[\\c_]", "enter:Alternative:[\\c_]", "enter:CharacterClass:[\\c_]", "enter:Character:\\c_", "leave:Character:\\c_", "leave:CharacterClass:[\\c_]", "leave:Alternative:[\\c_]", "leave:Pattern:[\\c_]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\c_]/" ], "/^[0-9]*$/": [ "enter:RegExpLiteral:/^[0-9]*$/", "enter:Pattern:^[0-9]*$", "enter:Alternative:^[0-9]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[0-9]*", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[0-9]*$", "leave:Pattern:^[0-9]*$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^[0-9]*$/" ], "/^[0-9]+$/": [ "enter:RegExpLiteral:/^[0-9]+$/", "enter:Pattern:^[0-9]+$", "enter:Alternative:^[0-9]+$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[0-9]+", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]+", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[0-9]+$", "leave:Pattern:^[0-9]+$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^[0-9]+$/" ], "/^[a-zA-Z]*$/": [ "enter:RegExpLiteral:/^[a-zA-Z]*$/", "enter:Pattern:^[a-zA-Z]*$", "enter:Alternative:^[a-zA-Z]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[a-zA-Z]*", "enter:CharacterClass:[a-zA-Z]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "leave:CharacterClass:[a-zA-Z]", "leave:Quantifier:[a-zA-Z]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[a-zA-Z]*$", "leave:Pattern:^[a-zA-Z]*$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^[a-zA-Z]*$/" ], "/^[a-zA-Z]+$/": [ "enter:RegExpLiteral:/^[a-zA-Z]+$/", "enter:Pattern:^[a-zA-Z]+$", "enter:Alternative:^[a-zA-Z]+$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[a-zA-Z]+", "enter:CharacterClass:[a-zA-Z]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "leave:CharacterClass:[a-zA-Z]", "leave:Quantifier:[a-zA-Z]+", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[a-zA-Z]+$", "leave:Pattern:^[a-zA-Z]+$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^[a-zA-Z]+$/" ], "/^[0-9a-zA-Z]*$/": [ "enter:RegExpLiteral:/^[0-9a-zA-Z]*$/", "enter:Pattern:^[0-9a-zA-Z]*$", "enter:Alternative:^[0-9a-zA-Z]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[0-9a-zA-Z]*", "enter:CharacterClass:[0-9a-zA-Z]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "leave:CharacterClass:[0-9a-zA-Z]", "leave:Quantifier:[0-9a-zA-Z]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[0-9a-zA-Z]*$", "leave:Pattern:^[0-9a-zA-Z]*$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^[0-9a-zA-Z]*$/" ], "/^[a-zA-Z0-9!-/:-@\\[-`{-~]*$/": [ "enter:RegExpLiteral:/^[a-zA-Z0-9!-/:-@\\[-`{-~]*$/", "enter:Pattern:^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "enter:Alternative:^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[a-zA-Z0-9!-/:-@\\[-`{-~]*", "enter:CharacterClass:[a-zA-Z0-9!-/:-@\\[-`{-~]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "enter:CharacterClassRange:!-/", "enter:Character:!", "leave:Character:!", "enter:Character:/", "leave:Character:/", "leave:CharacterClassRange:!-/", "enter:CharacterClassRange::-@", "enter:Character::", "leave:Character::", "enter:Character:@", "leave:Character:@", "leave:CharacterClassRange::-@", "enter:CharacterClassRange:\\[-`", "enter:Character:\\[", "leave:Character:\\[", "enter:Character:`", "leave:Character:`", "leave:CharacterClassRange:\\[-`", "enter:CharacterClassRange:{-~", "enter:Character:{", "leave:Character:{", "enter:Character:~", "leave:Character:~", "leave:CharacterClassRange:{-~", "leave:CharacterClass:[a-zA-Z0-9!-/:-@\\[-`{-~]", "leave:Quantifier:[a-zA-Z0-9!-/:-@\\[-`{-~]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "leave:Pattern:^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^[a-zA-Z0-9!-/:-@\\[-`{-~]*$/" ], "/^([a-zA-Z0-9]{8,})$/": [ "enter:RegExpLiteral:/^([a-zA-Z0-9]{8,})$/", "enter:Pattern:^([a-zA-Z0-9]{8,})$", "enter:Alternative:^([a-zA-Z0-9]{8,})$", "enter:Assertion:^", "leave:Assertion:^", "enter:CapturingGroup:([a-zA-Z0-9]{8,})", "enter:Alternative:[a-zA-Z0-9]{8,}", "enter:Quantifier:[a-zA-Z0-9]{8,}", "enter:CharacterClass:[a-zA-Z0-9]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[a-zA-Z0-9]", "leave:Quantifier:[a-zA-Z0-9]{8,}", "leave:Alternative:[a-zA-Z0-9]{8,}", "leave:CapturingGroup:([a-zA-Z0-9]{8,})", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^([a-zA-Z0-9]{8,})$", "leave:Pattern:^([a-zA-Z0-9]{8,})$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^([a-zA-Z0-9]{8,})$/" ], "/^([a-zA-Z0-9]{6,8})$/": [ "enter:RegExpLiteral:/^([a-zA-Z0-9]{6,8})$/", "enter:Pattern:^([a-zA-Z0-9]{6,8})$", "enter:Alternative:^([a-zA-Z0-9]{6,8})$", "enter:Assertion:^", "leave:Assertion:^", "enter:CapturingGroup:([a-zA-Z0-9]{6,8})", "enter:Alternative:[a-zA-Z0-9]{6,8}", "enter:Quantifier:[a-zA-Z0-9]{6,8}", "enter:CharacterClass:[a-zA-Z0-9]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[a-zA-Z0-9]", "leave:Quantifier:[a-zA-Z0-9]{6,8}", "leave:Alternative:[a-zA-Z0-9]{6,8}", "leave:CapturingGroup:([a-zA-Z0-9]{6,8})", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^([a-zA-Z0-9]{6,8})$", "leave:Pattern:^([a-zA-Z0-9]{6,8})$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^([a-zA-Z0-9]{6,8})$/" ], "/^([0-9]{0,8})$/": [ "enter:RegExpLiteral:/^([0-9]{0,8})$/", "enter:Pattern:^([0-9]{0,8})$", "enter:Alternative:^([0-9]{0,8})$", "enter:Assertion:^", "leave:Assertion:^", "enter:CapturingGroup:([0-9]{0,8})", "enter:Alternative:[0-9]{0,8}", "enter:Quantifier:[0-9]{0,8}", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]{0,8}", "leave:Alternative:[0-9]{0,8}", "leave:CapturingGroup:([0-9]{0,8})", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^([0-9]{0,8})$", "leave:Pattern:^([0-9]{0,8})$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^([0-9]{0,8})$/" ], "/^[0-9]{8}$/": [ "enter:RegExpLiteral:/^[0-9]{8}$/", "enter:Pattern:^[0-9]{8}$", "enter:Alternative:^[0-9]{8}$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[0-9]{8}", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]{8}", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[0-9]{8}$", "leave:Pattern:^[0-9]{8}$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^[0-9]{8}$/" ], "/^https?:\\/\\//": [ "enter:RegExpLiteral:/^https?:\\/\\//", "enter:Pattern:^https?:\\/\\/", "enter:Alternative:^https?:\\/\\/", "enter:Assertion:^", "leave:Assertion:^", "enter:Character:h", "leave:Character:h", "enter:Character:t", "leave:Character:t", "enter:Character:t", "leave:Character:t", "enter:Character:p", "leave:Character:p", "enter:Quantifier:s?", "enter:Character:s", "leave:Character:s", "leave:Quantifier:s?", "enter:Character::", "leave:Character::", "enter:Character:\\/", "leave:Character:\\/", "enter:Character:\\/", "leave:Character:\\/", "leave:Alternative:^https?:\\/\\/", "leave:Pattern:^https?:\\/\\/", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^https?:\\/\\//" ], "/^\\d{3}-\\d{4}$/": [ "enter:RegExpLiteral:/^\\d{3}-\\d{4}$/", "enter:Pattern:^\\d{3}-\\d{4}$", "enter:Alternative:^\\d{3}-\\d{4}$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:\\d{3}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{3}", "enter:Character:-", "leave:Character:-", "enter:Quantifier:\\d{4}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{4}", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^\\d{3}-\\d{4}$", "leave:Pattern:^\\d{3}-\\d{4}$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^\\d{3}-\\d{4}$/" ], "/^\\d{1,3}(.\\d{1,3}){3}$/": [ "enter:RegExpLiteral:/^\\d{1,3}(.\\d{1,3}){3}$/", "enter:Pattern:^\\d{1,3}(.\\d{1,3}){3}$", "enter:Alternative:^\\d{1,3}(.\\d{1,3}){3}$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:\\d{1,3}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{1,3}", "enter:Quantifier:(.\\d{1,3}){3}", "enter:CapturingGroup:(.\\d{1,3})", "enter:Alternative:.\\d{1,3}", "enter:CharacterSet:.", "leave:CharacterSet:.", "enter:Quantifier:\\d{1,3}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{1,3}", "leave:Alternative:.\\d{1,3}", "leave:CapturingGroup:(.\\d{1,3})", "leave:Quantifier:(.\\d{1,3}){3}", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^\\d{1,3}(.\\d{1,3}){3}$", "leave:Pattern:^\\d{1,3}(.\\d{1,3}){3}$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^\\d{1,3}(.\\d{1,3}){3}$/" ], "/^([1-9][0-9]*|0)(\\.[0-9]+)?$/": [ "enter:RegExpLiteral:/^([1-9][0-9]*|0)(\\.[0-9]+)?$/", "enter:Pattern:^([1-9][0-9]*|0)(\\.[0-9]+)?$", "enter:Alternative:^([1-9][0-9]*|0)(\\.[0-9]+)?$", "enter:Assertion:^", "leave:Assertion:^", "enter:CapturingGroup:([1-9][0-9]*|0)", "enter:Alternative:[1-9][0-9]*", "enter:CharacterClass:[1-9]", "enter:CharacterClassRange:1-9", "enter:Character:1", "leave:Character:1", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:1-9", "leave:CharacterClass:[1-9]", "enter:Quantifier:[0-9]*", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]*", "leave:Alternative:[1-9][0-9]*", "enter:Alternative:0", "enter:Character:0", "leave:Character:0", "leave:Alternative:0", "leave:CapturingGroup:([1-9][0-9]*|0)", "enter:Quantifier:(\\.[0-9]+)?", "enter:CapturingGroup:(\\.[0-9]+)", "enter:Alternative:\\.[0-9]+", "enter:Character:\\.", "leave:Character:\\.", "enter:Quantifier:[0-9]+", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]+", "leave:Alternative:\\.[0-9]+", "leave:CapturingGroup:(\\.[0-9]+)", "leave:Quantifier:(\\.[0-9]+)?", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^([1-9][0-9]*|0)(\\.[0-9]+)?$", "leave:Pattern:^([1-9][0-9]*|0)(\\.[0-9]+)?$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^([1-9][0-9]*|0)(\\.[0-9]+)?$/" ], "/^-?([1-9][0-9]*|0)(\\.[0-9]+)?$/": [ "enter:RegExpLiteral:/^-?([1-9][0-9]*|0)(\\.[0-9]+)?$/", "enter:Pattern:^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "enter:Alternative:^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:-?", "enter:Character:-", "leave:Character:-", "leave:Quantifier:-?", "enter:CapturingGroup:([1-9][0-9]*|0)", "enter:Alternative:[1-9][0-9]*", "enter:CharacterClass:[1-9]", "enter:CharacterClassRange:1-9", "enter:Character:1", "leave:Character:1", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:1-9", "leave:CharacterClass:[1-9]", "enter:Quantifier:[0-9]*", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]*", "leave:Alternative:[1-9][0-9]*", "enter:Alternative:0", "enter:Character:0", "leave:Character:0", "leave:Alternative:0", "leave:CapturingGroup:([1-9][0-9]*|0)", "enter:Quantifier:(\\.[0-9]+)?", "enter:CapturingGroup:(\\.[0-9]+)", "enter:Alternative:\\.[0-9]+", "enter:Character:\\.", "leave:Character:\\.", "enter:Quantifier:[0-9]+", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]+", "leave:Alternative:\\.[0-9]+", "leave:CapturingGroup:(\\.[0-9]+)", "leave:Quantifier:(\\.[0-9]+)?", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "leave:Pattern:^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^-?([1-9][0-9]*|0)(\\.[0-9]+)?$/" ], "/^[ぁ-んー]*$/": [ "enter:RegExpLiteral:/^[ぁ-んー]*$/", "enter:Pattern:^[ぁ-んー]*$", "enter:Alternative:^[ぁ-んー]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[ぁ-んー]*", "enter:CharacterClass:[ぁ-んー]", "enter:CharacterClassRange:ぁ-ん", "enter:Character:ぁ", "leave:Character:ぁ", "enter:Character:ん", "leave:Character:ん", "leave:CharacterClassRange:ぁ-ん", "enter:Character:ー", "leave:Character:ー", "leave:CharacterClass:[ぁ-んー]", "leave:Quantifier:[ぁ-んー]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[ぁ-んー]*$", "leave:Pattern:^[ぁ-んー]*$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^[ぁ-んー]*$/" ], "/^[ァ-ンヴー]*$/": [ "enter:RegExpLiteral:/^[ァ-ンヴー]*$/", "enter:Pattern:^[ァ-ンヴー]*$", "enter:Alternative:^[ァ-ンヴー]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[ァ-ンヴー]*", "enter:CharacterClass:[ァ-ンヴー]", "enter:CharacterClassRange:ァ-ン", "enter:Character:ァ", "leave:Character:ァ", "enter:Character:ン", "leave:Character:ン", "leave:CharacterClassRange:ァ-ン", "enter:Character:ヴ", "leave:Character:ヴ", "enter:Character:ー", "leave:Character:ー", "leave:CharacterClass:[ァ-ンヴー]", "leave:Quantifier:[ァ-ンヴー]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[ァ-ンヴー]*$", "leave:Pattern:^[ァ-ンヴー]*$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^[ァ-ンヴー]*$/" ], "/^[ァ-ン゙゚\\-]*$/": [ "enter:RegExpLiteral:/^[ァ-ン゙゚\\-]*$/", "enter:Pattern:^[ァ-ン゙゚\\-]*$", "enter:Alternative:^[ァ-ン゙゚\\-]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[ァ-ン゙゚\\-]*", "enter:CharacterClass:[ァ-ン゙゚\\-]", "enter:CharacterClassRange:ァ-ン", "enter:Character:ァ", "leave:Character:ァ", "enter:Character:ン", "leave:Character:ン", "leave:CharacterClassRange:ァ-ン", "enter:Character:゙", "leave:Character:゙", "enter:Character:゚", "leave:Character:゚", "enter:Character:\\-", "leave:Character:\\-", "leave:CharacterClass:[ァ-ン゙゚\\-]", "leave:Quantifier:[ァ-ン゙゚\\-]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[ァ-ン゙゚\\-]*$", "leave:Pattern:^[ァ-ン゙゚\\-]*$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^[ァ-ン゙゚\\-]*$/" ], "/^[^\\x20-\\x7e]*$/": [ "enter:RegExpLiteral:/^[^\\x20-\\x7e]*$/", "enter:Pattern:^[^\\x20-\\x7e]*$", "enter:Alternative:^[^\\x20-\\x7e]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[^\\x20-\\x7e]*", "enter:CharacterClass:[^\\x20-\\x7e]", "enter:CharacterClassRange:\\x20-\\x7e", "enter:Character:\\x20", "leave:Character:\\x20", "enter:Character:\\x7e", "leave:Character:\\x7e", "leave:CharacterClassRange:\\x20-\\x7e", "leave:CharacterClass:[^\\x20-\\x7e]", "leave:Quantifier:[^\\x20-\\x7e]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[^\\x20-\\x7e]*$", "leave:Pattern:^[^\\x20-\\x7e]*$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^[^\\x20-\\x7e]*$/" ], "/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/": [ "enter:RegExpLiteral:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/", "enter:Pattern:^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "enter:Alternative:^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+", "enter:CharacterClass:[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "enter:Character:.", "leave:Character:.", "enter:Character:!", "leave:Character:!", "enter:Character:#", "leave:Character:#", "enter:Character:$", "leave:Character:$", "enter:Character:%", "leave:Character:%", "enter:Character:&", "leave:Character:&", "enter:Character:'", "leave:Character:'", "enter:Character:*", "leave:Character:*", "enter:Character:+", "leave:Character:+", "enter:Character:/", "leave:Character:/", "enter:Character:=", "leave:Character:=", "enter:Character:?", "leave:Character:?", "enter:Character:^", "leave:Character:^", "enter:Character:_", "leave:Character:_", "enter:Character:`", "leave:Character:`", "enter:Character:{", "leave:Character:{", "enter:Character:|", "leave:Character:|", "enter:Character:}", "leave:Character:}", "enter:Character:~", "leave:Character:~", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]", "leave:Quantifier:[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+", "enter:Character:@", "leave:Character:@", "enter:Quantifier:[a-zA-Z0-9-]+", "enter:CharacterClass:[a-zA-Z0-9-]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[a-zA-Z0-9-]", "leave:Quantifier:[a-zA-Z0-9-]+", "enter:Quantifier:(?:\\.[a-zA-Z0-9-]+)*", "enter:Group:(?:\\.[a-zA-Z0-9-]+)", "enter:Alternative:\\.[a-zA-Z0-9-]+", "enter:Character:\\.", "leave:Character:\\.", "enter:Quantifier:[a-zA-Z0-9-]+", "enter:CharacterClass:[a-zA-Z0-9-]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[a-zA-Z0-9-]", "leave:Quantifier:[a-zA-Z0-9-]+", "leave:Alternative:\\.[a-zA-Z0-9-]+", "leave:Group:(?:\\.[a-zA-Z0-9-]+)", "leave:Quantifier:(?:\\.[a-zA-Z0-9-]+)*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "leave:Pattern:^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/" ], "/^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$/": [ "enter:RegExpLiteral:/^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$/", "enter:Pattern:^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$", "enter:Alternative:^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}", "enter:Assertion:^", "leave:Assertion:^", "enter:CapturingGroup:((4\\d{3})|(5[1-5]\\d{2})|(6011))", "enter:Alternative:(4\\d{3})", "enter:CapturingGroup:(4\\d{3})", "enter:Alternative:4\\d{3}", "enter:Character:4", "leave:Character:4", "enter:Quantifier:\\d{3}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{3}", "leave:Alternative:4\\d{3}", "leave:CapturingGroup:(4\\d{3})", "leave:Alternative:(4\\d{3})", "enter:Alternative:(5[1-5]\\d{2})", "enter:CapturingGroup:(5[1-5]\\d{2})", "enter:Alternative:5[1-5]\\d{2}", "enter:Character:5", "leave:Character:5", "enter:CharacterClass:[1-5]", "enter:CharacterClassRange:1-5", "enter:Character:1", "leave:Character:1", "enter:Character:5", "leave:Character:5", "leave:CharacterClassRange:1-5", "leave:CharacterClass:[1-5]", "enter:Quantifier:\\d{2}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{2}", "leave:Alternative:5[1-5]\\d{2}", "leave:CapturingGroup:(5[1-5]\\d{2})", "leave:Alternative:(5[1-5]\\d{2})", "enter:Alternative:(6011)", "enter:CapturingGroup:(6011)", "enter:Alternative:6011", "enter:Character:6", "leave:Character:6", "enter:Character:0", "leave:Character:0", "enter:Character:1", "leave:Character:1", "enter:Character:1", "leave:Character:1", "leave:Alternative:6011", "leave:CapturingGroup:(6011)", "leave:Alternative:(6011)", "leave:CapturingGroup:((4\\d{3})|(5[1-5]\\d{2})|(6011))", "enter:Quantifier:([- ])?", "enter:CapturingGroup:([- ])", "enter:Alternative:[- ]", "enter:CharacterClass:[- ]", "enter:Character:-", "leave:Character:-", "enter:Character: ", "leave:Character: ", "leave:CharacterClass:[- ]", "leave:Alternative:[- ]", "leave:CapturingGroup:([- ])", "leave:Quantifier:([- ])?", "enter:Quantifier:\\d{4}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{4}", "enter:Quantifier:([- ])?", "enter:CapturingGroup:([- ])", "enter:Alternative:[- ]", "enter:CharacterClass:[- ]", "enter:Character:-", "leave:Character:-", "enter:Character: ", "leave:Character: ", "leave:CharacterClass:[- ]", "leave:Alternative:[- ]", "leave:CapturingGroup:([- ])", "leave:Quantifier:([- ])?", "enter:Quantifier:\\d{4}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{4}", "enter:Quantifier:([- ])?", "enter:CapturingGroup:([- ])", "enter:Alternative:[- ]", "enter:CharacterClass:[- ]", "enter:Character:-", "leave:Character:-", "enter:Character: ", "leave:Character: ", "leave:CharacterClass:[- ]", "leave:Alternative:[- ]", "leave:CapturingGroup:([- ])", "leave:Quantifier:([- ])?", "enter:Quantifier:\\d{4}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{4}", "leave:Alternative:^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}", "enter:Alternative:3[4,7]\\d{13}$", "enter:Character:3", "leave:Character:3", "enter:CharacterClass:[4,7]", "enter:Character:4", "leave:Character:4", "enter:Character:,", "leave:Character:,", "enter:Character:7", "leave:Character:7", "leave:CharacterClass:[4,7]", "enter:Quantifier:\\d{13}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{13}", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:3[4,7]\\d{13}$", "leave:Pattern:^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$/" ], "/^\\s*|\\s*$/": [ "enter:RegExpLiteral:/^\\s*|\\s*$/", "enter:Pattern:^\\s*|\\s*$", "enter:Alternative:^\\s*", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:\\s*", "enter:CharacterSet:\\s", "leave:CharacterSet:\\s", "leave:Quantifier:\\s*", "leave:Alternative:^\\s*", "enter:Alternative:\\s*$", "enter:Quantifier:\\s*", "enter:CharacterSet:\\s", "leave:CharacterSet:\\s", "leave:Quantifier:\\s*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:\\s*$", "leave:Pattern:^\\s*|\\s*$", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/^\\s*|\\s*$/" ], "/[\\d][\\12-\\14]{1,}[^\\d]/": [ "enter:RegExpLiteral:/[\\d][\\12-\\14]{1,}[^\\d]/", "enter:Pattern:[\\d][\\12-\\14]{1,}[^\\d]", "enter:Alternative:[\\d][\\12-\\14]{1,}[^\\d]", "enter:CharacterClass:[\\d]", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:CharacterClass:[\\d]", "enter:Quantifier:[\\12-\\14]{1,}", "enter:CharacterClass:[\\12-\\14]", "enter:CharacterClassRange:\\12-\\14", "enter:Character:\\12", "leave:Character:\\12", "enter:Character:\\14", "leave:Character:\\14", "leave:CharacterClassRange:\\12-\\14", "leave:CharacterClass:[\\12-\\14]", "leave:Quantifier:[\\12-\\14]{1,}", "enter:CharacterClass:[^\\d]", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:CharacterClass:[^\\d]", "leave:Alternative:[\\d][\\12-\\14]{1,}[^\\d]", "leave:Pattern:[\\d][\\12-\\14]{1,}[^\\d]", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/[\\d][\\12-\\14]{1,}[^\\d]/" ], "/([a ]\\b)*\\b/": [ "enter:RegExpLiteral:/([a ]\\b)*\\b/", "enter:Pattern:([a ]\\b)*\\b", "enter:Alternative:([a ]\\b)*\\b", "enter:Quantifier:([a ]\\b)*", "enter:CapturingGroup:([a ]\\b)", "enter:Alternative:[a ]\\b", "enter:CharacterClass:[a ]", "enter:Character:a", "leave:Character:a", "enter:Character: ", "leave:Character: ", "leave:CharacterClass:[a ]", "enter:Assertion:\\b", "leave:Assertion:\\b", "leave:Alternative:[a ]\\b", "leave:CapturingGroup:([a ]\\b)", "leave:Quantifier:([a ]\\b)*", "enter:Assertion:\\b", "leave:Assertion:\\b", "leave:Alternative:([a ]\\b)*\\b", "leave:Pattern:([a ]\\b)*\\b", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/([a ]\\b)*\\b/" ], "/foo/u": [ "enter:RegExpLiteral:/foo/u", "enter:Pattern:foo", "enter:Alternative:foo", "enter:Character:f", "leave:Character:f", "enter:Character:o", "leave:Character:o", "enter:Character:o", "leave:Character:o", "leave:Alternative:foo", "leave:Pattern:foo", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/foo/u" ], "/foo|bar/u": [ "enter:RegExpLiteral:/foo|bar/u", "enter:Pattern:foo|bar", "enter:Alternative:foo", "enter:Character:f", "leave:Character:f", "enter:Character:o", "leave:Character:o", "enter:Character:o", "leave:Character:o", "leave:Alternative:foo", "enter:Alternative:bar", "enter:Character:b", "leave:Character:b", "enter:Character:a", "leave:Character:a", "enter:Character:r", "leave:Character:r", "leave:Alternative:bar", "leave:Pattern:foo|bar", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/foo|bar/u" ], "/||||/u": [ "enter:RegExpLiteral:/||||/u", "enter:Pattern:||||", "enter:Alternative:", "leave:Alternative:", "enter:Alternative:", "leave:Alternative:", "enter:Alternative:", "leave:Alternative:", "enter:Alternative:", "leave:Alternative:", "enter:Alternative:", "leave:Alternative:", "leave:Pattern:||||", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/||||/u" ], "/^|$|\\b|\\B/u": [ "enter:RegExpLiteral:/^|$|\\b|\\B/u", "enter:Pattern:^|$|\\b|\\B", "enter:Alternative:^", "enter:Assertion:^", "leave:Assertion:^", "leave:Alternative:^", "enter:Alternative:$", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:$", "enter:Alternative:\\b", "enter:Assertion:\\b", "leave:Assertion:\\b", "leave:Alternative:\\b", "enter:Alternative:\\B", "enter:Assertion:\\B", "leave:Assertion:\\B", "leave:Alternative:\\B", "leave:Pattern:^|$|\\b|\\B", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^|$|\\b|\\B/u" ], "/(?=)/u": [ "enter:RegExpLiteral:/(?=)/u", "enter:Pattern:(?=)", "enter:Alternative:(?=)", "enter:Assertion:(?=)", "enter:Alternative:", "leave:Alternative:", "leave:Assertion:(?=)", "leave:Alternative:(?=)", "leave:Pattern:(?=)", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?=)/u" ], "/(?=foo)/u": [ "enter:RegExpLiteral:/(?=foo)/u", "enter:Pattern:(?=foo)", "enter:Alternative:(?=foo)", "enter:Assertion:(?=foo)", "enter:Alternative:foo", "enter:Character:f", "leave:Character:f", "enter:Character:o", "leave:Character:o", "enter:Character:o", "leave:Character:o", "leave:Alternative:foo", "leave:Assertion:(?=foo)", "leave:Alternative:(?=foo)", "leave:Pattern:(?=foo)", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?=foo)/u" ], "/(?!)/u": [ "enter:RegExpLiteral:/(?!)/u", "enter:Pattern:(?!)", "enter:Alternative:(?!)", "enter:Assertion:(?!)", "enter:Alternative:", "leave:Alternative:", "leave:Assertion:(?!)", "leave:Alternative:(?!)", "leave:Pattern:(?!)", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?!)/u" ], "/(?!foo)/u": [ "enter:RegExpLiteral:/(?!foo)/u", "enter:Pattern:(?!foo)", "enter:Alternative:(?!foo)", "enter:Assertion:(?!foo)", "enter:Alternative:foo", "enter:Character:f", "leave:Character:f", "enter:Character:o", "leave:Character:o", "enter:Character:o", "leave:Character:o", "leave:Alternative:foo", "leave:Assertion:(?!foo)", "leave:Alternative:(?!foo)", "leave:Pattern:(?!foo)", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?!foo)/u" ], "/a*/u": [ "enter:RegExpLiteral:/a*/u", "enter:Pattern:a*", "enter:Alternative:a*", "enter:Quantifier:a*", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a*", "leave:Alternative:a*", "leave:Pattern:a*", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/a*/u" ], "/a+/u": [ "enter:RegExpLiteral:/a+/u", "enter:Pattern:a+", "enter:Alternative:a+", "enter:Quantifier:a+", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a+", "leave:Alternative:a+", "leave:Pattern:a+", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/a+/u" ], "/a?/u": [ "enter:RegExpLiteral:/a?/u", "enter:Pattern:a?", "enter:Alternative:a?", "enter:Quantifier:a?", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a?", "leave:Alternative:a?", "leave:Pattern:a?", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/a?/u" ], "/a{1}/u": [ "enter:RegExpLiteral:/a{1}/u", "enter:Pattern:a{1}", "enter:Alternative:a{1}", "enter:Quantifier:a{1}", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a{1}", "leave:Alternative:a{1}", "leave:Pattern:a{1}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/a{1}/u" ], "/a{1,}/u": [ "enter:RegExpLiteral:/a{1,}/u", "enter:Pattern:a{1,}", "enter:Alternative:a{1,}", "enter:Quantifier:a{1,}", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a{1,}", "leave:Alternative:a{1,}", "leave:Pattern:a{1,}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/a{1,}/u" ], "/a{1,2}/u": [ "enter:RegExpLiteral:/a{1,2}/u", "enter:Pattern:a{1,2}", "enter:Alternative:a{1,2}", "enter:Quantifier:a{1,2}", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a{1,2}", "leave:Alternative:a{1,2}", "leave:Pattern:a{1,2}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/a{1,2}/u" ], "/a*?/u": [ "enter:RegExpLiteral:/a*?/u", "enter:Pattern:a*?", "enter:Alternative:a*?", "enter:Quantifier:a*?", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a*?", "leave:Alternative:a*?", "leave:Pattern:a*?", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/a*?/u" ], "/a+?/u": [ "enter:RegExpLiteral:/a+?/u", "enter:Pattern:a+?", "enter:Alternative:a+?", "enter:Quantifier:a+?", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a+?", "leave:Alternative:a+?", "leave:Pattern:a+?", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/a+?/u" ], "/a??/u": [ "enter:RegExpLiteral:/a??/u", "enter:Pattern:a??", "enter:Alternative:a??", "enter:Quantifier:a??", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a??", "leave:Alternative:a??", "leave:Pattern:a??", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/a??/u" ], "/a{1}?/u": [ "enter:RegExpLiteral:/a{1}?/u", "enter:Pattern:a{1}?", "enter:Alternative:a{1}?", "enter:Quantifier:a{1}?", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a{1}?", "leave:Alternative:a{1}?", "leave:Pattern:a{1}?", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/a{1}?/u" ], "/a{1,}?/u": [ "enter:RegExpLiteral:/a{1,}?/u", "enter:Pattern:a{1,}?", "enter:Alternative:a{1,}?", "enter:Quantifier:a{1,}?", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a{1,}?", "leave:Alternative:a{1,}?", "leave:Pattern:a{1,}?", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/a{1,}?/u" ], "/a{1,2}?/u": [ "enter:RegExpLiteral:/a{1,2}?/u", "enter:Pattern:a{1,2}?", "enter:Alternative:a{1,2}?", "enter:Quantifier:a{1,2}?", "enter:Character:a", "leave:Character:a", "leave:Quantifier:a{1,2}?", "leave:Alternative:a{1,2}?", "leave:Pattern:a{1,2}?", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/a{1,2}?/u" ], "/👍🚀❇️/u": [ "enter:RegExpLiteral:/👍🚀❇️/u", "enter:Pattern:👍🚀❇️", "enter:Alternative:👍🚀❇️", "enter:Character:👍", "leave:Character:👍", "enter:Character:🚀", "leave:Character:🚀", "enter:Character:❇", "leave:Character:❇", "enter:Character:️", "leave:Character:️", "leave:Alternative:👍🚀❇️", "leave:Pattern:👍🚀❇️", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/👍🚀❇️/u" ], "/^/u": [ "enter:RegExpLiteral:/^/u", "enter:Pattern:^", "enter:Alternative:^", "enter:Assertion:^", "leave:Assertion:^", "leave:Alternative:^", "leave:Pattern:^", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^/u" ], "/$/u": [ "enter:RegExpLiteral:/$/u", "enter:Pattern:$", "enter:Alternative:$", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:$", "leave:Pattern:$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/$/u" ], "/./u": [ "enter:RegExpLiteral:/./u", "enter:Pattern:.", "enter:Alternative:.", "enter:CharacterSet:.", "leave:CharacterSet:.", "leave:Alternative:.", "leave:Pattern:.", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/./u" ], "/|/u": [ "enter:RegExpLiteral:/|/u", "enter:Pattern:|", "enter:Alternative:", "leave:Alternative:", "enter:Alternative:", "leave:Alternative:", "leave:Pattern:|", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/|/u" ], "/(a)\\1/u": [ "enter:RegExpLiteral:/(a)\\1/u", "enter:Pattern:(a)\\1", "enter:Alternative:(a)\\1", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:Backreference:\\1", "leave:Backreference:\\1", "leave:Alternative:(a)\\1", "leave:Pattern:(a)\\1", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(a)\\1/u" ], "/\\1(a)/u": [ "enter:RegExpLiteral:/\\1(a)/u", "enter:Pattern:\\1(a)", "enter:Alternative:\\1(a)", "enter:Backreference:\\1", "leave:Backreference:\\1", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "leave:Alternative:\\1(a)", "leave:Pattern:\\1(a)", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\1(a)/u" ], "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10/u": [ "enter:RegExpLiteral:/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10/u", "enter:Pattern:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "enter:Alternative:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:Backreference:\\10", "leave:Backreference:\\10", "leave:Alternative:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "leave:Pattern:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\10/u" ], "/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/u": [ "enter:RegExpLiteral:/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/u", "enter:Pattern:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "enter:Alternative:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "enter:Backreference:\\11", "leave:Backreference:\\11", "leave:Alternative:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "leave:Pattern:(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)\\11/u" ], "/(?:a)/u": [ "enter:RegExpLiteral:/(?:a)/u", "enter:Pattern:(?:a)", "enter:Alternative:(?:a)", "enter:Group:(?:a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Group:(?:a)", "leave:Alternative:(?:a)", "leave:Pattern:(?:a)", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?:a)/u" ], "/\\d/u": [ "enter:RegExpLiteral:/\\d/u", "enter:Pattern:\\d", "enter:Alternative:\\d", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Alternative:\\d", "leave:Pattern:\\d", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\d/u" ], "/\\D/u": [ "enter:RegExpLiteral:/\\D/u", "enter:Pattern:\\D", "enter:Alternative:\\D", "enter:CharacterSet:\\D", "leave:CharacterSet:\\D", "leave:Alternative:\\D", "leave:Pattern:\\D", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\D/u" ], "/\\s/u": [ "enter:RegExpLiteral:/\\s/u", "enter:Pattern:\\s", "enter:Alternative:\\s", "enter:CharacterSet:\\s", "leave:CharacterSet:\\s", "leave:Alternative:\\s", "leave:Pattern:\\s", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\s/u" ], "/\\S/u": [ "enter:RegExpLiteral:/\\S/u", "enter:Pattern:\\S", "enter:Alternative:\\S", "enter:CharacterSet:\\S", "leave:CharacterSet:\\S", "leave:Alternative:\\S", "leave:Pattern:\\S", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\S/u" ], "/\\w/u": [ "enter:RegExpLiteral:/\\w/u", "enter:Pattern:\\w", "enter:Alternative:\\w", "enter:CharacterSet:\\w", "leave:CharacterSet:\\w", "leave:Alternative:\\w", "leave:Pattern:\\w", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\w/u" ], "/\\W/u": [ "enter:RegExpLiteral:/\\W/u", "enter:Pattern:\\W", "enter:Alternative:\\W", "enter:CharacterSet:\\W", "leave:CharacterSet:\\W", "leave:Alternative:\\W", "leave:Pattern:\\W", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\W/u" ], "/\\f/u": [ "enter:RegExpLiteral:/\\f/u", "enter:Pattern:\\f", "enter:Alternative:\\f", "enter:Character:\\f", "leave:Character:\\f", "leave:Alternative:\\f", "leave:Pattern:\\f", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\f/u" ], "/\\n/u": [ "enter:RegExpLiteral:/\\n/u", "enter:Pattern:\\n", "enter:Alternative:\\n", "enter:Character:\\n", "leave:Character:\\n", "leave:Alternative:\\n", "leave:Pattern:\\n", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\n/u" ], "/\\r/u": [ "enter:RegExpLiteral:/\\r/u", "enter:Pattern:\\r", "enter:Alternative:\\r", "enter:Character:\\r", "leave:Character:\\r", "leave:Alternative:\\r", "leave:Pattern:\\r", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\r/u" ], "/\\t/u": [ "enter:RegExpLiteral:/\\t/u", "enter:Pattern:\\t", "enter:Alternative:\\t", "enter:Character:\\t", "leave:Character:\\t", "leave:Alternative:\\t", "leave:Pattern:\\t", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\t/u" ], "/\\v/u": [ "enter:RegExpLiteral:/\\v/u", "enter:Pattern:\\v", "enter:Alternative:\\v", "enter:Character:\\v", "leave:Character:\\v", "leave:Alternative:\\v", "leave:Pattern:\\v", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\v/u" ], "/\\cA/u": [ "enter:RegExpLiteral:/\\cA/u", "enter:Pattern:\\cA", "enter:Alternative:\\cA", "enter:Character:\\cA", "leave:Character:\\cA", "leave:Alternative:\\cA", "leave:Pattern:\\cA", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\cA/u" ], "/\\cz/u": [ "enter:RegExpLiteral:/\\cz/u", "enter:Pattern:\\cz", "enter:Alternative:\\cz", "enter:Character:\\cz", "leave:Character:\\cz", "leave:Alternative:\\cz", "leave:Pattern:\\cz", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\cz/u" ], "/\\0/u": [ "enter:RegExpLiteral:/\\0/u", "enter:Pattern:\\0", "enter:Alternative:\\0", "enter:Character:\\0", "leave:Character:\\0", "leave:Alternative:\\0", "leave:Pattern:\\0", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\0/u" ], "/\\u1234/u": [ "enter:RegExpLiteral:/\\u1234/u", "enter:Pattern:\\u1234", "enter:Alternative:\\u1234", "enter:Character:\\u1234", "leave:Character:\\u1234", "leave:Alternative:\\u1234", "leave:Pattern:\\u1234", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\u1234/u" ], "/\\u12345/u": [ "enter:RegExpLiteral:/\\u12345/u", "enter:Pattern:\\u12345", "enter:Alternative:\\u12345", "enter:Character:\\u1234", "leave:Character:\\u1234", "enter:Character:5", "leave:Character:5", "leave:Alternative:\\u12345", "leave:Pattern:\\u12345", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\u12345/u" ], "/\\u{a}/u": [ "enter:RegExpLiteral:/\\u{a}/u", "enter:Pattern:\\u{a}", "enter:Alternative:\\u{a}", "enter:Character:\\u{a}", "leave:Character:\\u{a}", "leave:Alternative:\\u{a}", "leave:Pattern:\\u{a}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\u{a}/u" ], "/\\u{20}/u": [ "enter:RegExpLiteral:/\\u{20}/u", "enter:Pattern:\\u{20}", "enter:Alternative:\\u{20}", "enter:Character:\\u{20}", "leave:Character:\\u{20}", "leave:Alternative:\\u{20}", "leave:Pattern:\\u{20}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\u{20}/u" ], "/\\u{10FFFF}/u": [ "enter:RegExpLiteral:/\\u{10FFFF}/u", "enter:Pattern:\\u{10FFFF}", "enter:Alternative:\\u{10FFFF}", "enter:Character:\\u{10FFFF}", "leave:Character:\\u{10FFFF}", "leave:Alternative:\\u{10FFFF}", "leave:Pattern:\\u{10FFFF}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\u{10FFFF}/u" ], "/\\u{00000001}/u": [ "enter:RegExpLiteral:/\\u{00000001}/u", "enter:Pattern:\\u{00000001}", "enter:Alternative:\\u{00000001}", "enter:Character:\\u{00000001}", "leave:Character:\\u{00000001}", "leave:Alternative:\\u{00000001}", "leave:Pattern:\\u{00000001}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\u{00000001}/u" ], "/\\^/u": [ "enter:RegExpLiteral:/\\^/u", "enter:Pattern:\\^", "enter:Alternative:\\^", "enter:Character:\\^", "leave:Character:\\^", "leave:Alternative:\\^", "leave:Pattern:\\^", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\^/u" ], "/\\$/u": [ "enter:RegExpLiteral:/\\$/u", "enter:Pattern:\\$", "enter:Alternative:\\$", "enter:Character:\\$", "leave:Character:\\$", "leave:Alternative:\\$", "leave:Pattern:\\$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\$/u" ], "/\\./u": [ "enter:RegExpLiteral:/\\./u", "enter:Pattern:\\.", "enter:Alternative:\\.", "enter:Character:\\.", "leave:Character:\\.", "leave:Alternative:\\.", "leave:Pattern:\\.", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\./u" ], "/\\+/u": [ "enter:RegExpLiteral:/\\+/u", "enter:Pattern:\\+", "enter:Alternative:\\+", "enter:Character:\\+", "leave:Character:\\+", "leave:Alternative:\\+", "leave:Pattern:\\+", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\+/u" ], "/\\?/u": [ "enter:RegExpLiteral:/\\?/u", "enter:Pattern:\\?", "enter:Alternative:\\?", "enter:Character:\\?", "leave:Character:\\?", "leave:Alternative:\\?", "leave:Pattern:\\?", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\?/u" ], "/\\(/u": [ "enter:RegExpLiteral:/\\(/u", "enter:Pattern:\\(", "enter:Alternative:\\(", "enter:Character:\\(", "leave:Character:\\(", "leave:Alternative:\\(", "leave:Pattern:\\(", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\(/u" ], "/\\)/u": [ "enter:RegExpLiteral:/\\)/u", "enter:Pattern:\\)", "enter:Alternative:\\)", "enter:Character:\\)", "leave:Character:\\)", "leave:Alternative:\\)", "leave:Pattern:\\)", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\)/u" ], "/\\[/u": [ "enter:RegExpLiteral:/\\[/u", "enter:Pattern:\\[", "enter:Alternative:\\[", "enter:Character:\\[", "leave:Character:\\[", "leave:Alternative:\\[", "leave:Pattern:\\[", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\[/u" ], "/\\]/u": [ "enter:RegExpLiteral:/\\]/u", "enter:Pattern:\\]", "enter:Alternative:\\]", "enter:Character:\\]", "leave:Character:\\]", "leave:Alternative:\\]", "leave:Pattern:\\]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\]/u" ], "/\\{/u": [ "enter:RegExpLiteral:/\\{/u", "enter:Pattern:\\{", "enter:Alternative:\\{", "enter:Character:\\{", "leave:Character:\\{", "leave:Alternative:\\{", "leave:Pattern:\\{", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\{/u" ], "/\\}/u": [ "enter:RegExpLiteral:/\\}/u", "enter:Pattern:\\}", "enter:Alternative:\\}", "enter:Character:\\}", "leave:Character:\\}", "leave:Alternative:\\}", "leave:Pattern:\\}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\}/u" ], "/\\|/u": [ "enter:RegExpLiteral:/\\|/u", "enter:Pattern:\\|", "enter:Alternative:\\|", "enter:Character:\\|", "leave:Character:\\|", "leave:Alternative:\\|", "leave:Pattern:\\|", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\|/u" ], "/\\//u": [ "enter:RegExpLiteral:/\\//u", "enter:Pattern:\\/", "enter:Alternative:\\/", "enter:Character:\\/", "leave:Character:\\/", "leave:Alternative:\\/", "leave:Pattern:\\/", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\//u" ], "/[]/u": [ "enter:RegExpLiteral:/[]/u", "enter:Pattern:[]", "enter:Alternative:[]", "enter:CharacterClass:[]", "leave:CharacterClass:[]", "leave:Alternative:[]", "leave:Pattern:[]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[]/u" ], "/[^-a-b-]/u": [ "enter:RegExpLiteral:/[^-a-b-]/u", "enter:Pattern:[^-a-b-]", "enter:Alternative:[^-a-b-]", "enter:CharacterClass:[^-a-b-]", "enter:Character:-", "leave:Character:-", "enter:CharacterClassRange:a-b", "enter:Character:a", "leave:Character:a", "enter:Character:b", "leave:Character:b", "leave:CharacterClassRange:a-b", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[^-a-b-]", "leave:Alternative:[^-a-b-]", "leave:Pattern:[^-a-b-]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[^-a-b-]/u" ], "/[-]/u": [ "enter:RegExpLiteral:/[-]/u", "enter:Pattern:[-]", "enter:Alternative:[-]", "enter:CharacterClass:[-]", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[-]", "leave:Alternative:[-]", "leave:Pattern:[-]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[-]/u" ], "/[a]/u": [ "enter:RegExpLiteral:/[a]/u", "enter:Pattern:[a]", "enter:Alternative:[a]", "enter:CharacterClass:[a]", "enter:Character:a", "leave:Character:a", "leave:CharacterClass:[a]", "leave:Alternative:[a]", "leave:Pattern:[a]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[a]/u" ], "/[--]/u": [ "enter:RegExpLiteral:/[--]/u", "enter:Pattern:[--]", "enter:Alternative:[--]", "enter:CharacterClass:[--]", "enter:Character:-", "leave:Character:-", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[--]", "leave:Alternative:[--]", "leave:Pattern:[--]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[--]/u" ], "/[-a]/u": [ "enter:RegExpLiteral:/[-a]/u", "enter:Pattern:[-a]", "enter:Alternative:[-a]", "enter:CharacterClass:[-a]", "enter:Character:-", "leave:Character:-", "enter:Character:a", "leave:Character:a", "leave:CharacterClass:[-a]", "leave:Alternative:[-a]", "leave:Pattern:[-a]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[-a]/u" ], "/[-a-]/u": [ "enter:RegExpLiteral:/[-a-]/u", "enter:Pattern:[-a-]", "enter:Alternative:[-a-]", "enter:CharacterClass:[-a-]", "enter:Character:-", "leave:Character:-", "enter:Character:a", "leave:Character:a", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[-a-]", "leave:Alternative:[-a-]", "leave:Pattern:[-a-]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[-a-]/u" ], "/[a-]/u": [ "enter:RegExpLiteral:/[a-]/u", "enter:Pattern:[a-]", "enter:Alternative:[a-]", "enter:CharacterClass:[a-]", "enter:Character:a", "leave:Character:a", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[a-]", "leave:Alternative:[a-]", "leave:Pattern:[a-]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[a-]/u" ], "/[a-b]/u": [ "enter:RegExpLiteral:/[a-b]/u", "enter:Pattern:[a-b]", "enter:Alternative:[a-b]", "enter:CharacterClass:[a-b]", "enter:CharacterClassRange:a-b", "enter:Character:a", "leave:Character:a", "enter:Character:b", "leave:Character:b", "leave:CharacterClassRange:a-b", "leave:CharacterClass:[a-b]", "leave:Alternative:[a-b]", "leave:Pattern:[a-b]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[a-b]/u" ], "/[-a-b-]/u": [ "enter:RegExpLiteral:/[-a-b-]/u", "enter:Pattern:[-a-b-]", "enter:Alternative:[-a-b-]", "enter:CharacterClass:[-a-b-]", "enter:Character:-", "leave:Character:-", "enter:CharacterClassRange:a-b", "enter:Character:a", "leave:Character:a", "enter:Character:b", "leave:Character:b", "leave:CharacterClassRange:a-b", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[-a-b-]", "leave:Alternative:[-a-b-]", "leave:Pattern:[-a-b-]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[-a-b-]/u" ], "/[---]/u": [ "enter:RegExpLiteral:/[---]/u", "enter:Pattern:[---]", "enter:Alternative:[---]", "enter:CharacterClass:[---]", "enter:CharacterClassRange:---", "enter:Character:-", "leave:Character:-", "enter:Character:-", "leave:Character:-", "leave:CharacterClassRange:---", "leave:CharacterClass:[---]", "leave:Alternative:[---]", "leave:Pattern:[---]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[---]/u" ], "/[a-b--/]/u": [ "enter:RegExpLiteral:/[a-b--/]/u", "enter:Pattern:[a-b--/]", "enter:Alternative:[a-b--/]", "enter:CharacterClass:[a-b--/]", "enter:CharacterClassRange:a-b", "enter:Character:a", "leave:Character:a", "enter:Character:b", "leave:Character:b", "leave:CharacterClassRange:a-b", "enter:CharacterClassRange:--/", "enter:Character:-", "leave:Character:-", "enter:Character:/", "leave:Character:/", "leave:CharacterClassRange:--/", "leave:CharacterClass:[a-b--/]", "leave:Alternative:[a-b--/]", "leave:Pattern:[a-b--/]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[a-b--/]/u" ], "/[\\b-\\n]/u": [ "enter:RegExpLiteral:/[\\b-\\n]/u", "enter:Pattern:[\\b-\\n]", "enter:Alternative:[\\b-\\n]", "enter:CharacterClass:[\\b-\\n]", "enter:CharacterClassRange:\\b-\\n", "enter:Character:\\b", "leave:Character:\\b", "enter:Character:\\n", "leave:Character:\\n", "leave:CharacterClassRange:\\b-\\n", "leave:CharacterClass:[\\b-\\n]", "leave:Alternative:[\\b-\\n]", "leave:Pattern:[\\b-\\n]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\b-\\n]/u" ], "/[b\\-a]/u": [ "enter:RegExpLiteral:/[b\\-a]/u", "enter:Pattern:[b\\-a]", "enter:Alternative:[b\\-a]", "enter:CharacterClass:[b\\-a]", "enter:Character:b", "leave:Character:b", "enter:Character:\\-", "leave:Character:\\-", "enter:Character:a", "leave:Character:a", "leave:CharacterClass:[b\\-a]", "leave:Alternative:[b\\-a]", "leave:Pattern:[b\\-a]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[b\\-a]/u" ], "/[\\d]/u": [ "enter:RegExpLiteral:/[\\d]/u", "enter:Pattern:[\\d]", "enter:Alternative:[\\d]", "enter:CharacterClass:[\\d]", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:CharacterClass:[\\d]", "leave:Alternative:[\\d]", "leave:Pattern:[\\d]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\d]/u" ], "/[\\D]/u": [ "enter:RegExpLiteral:/[\\D]/u", "enter:Pattern:[\\D]", "enter:Alternative:[\\D]", "enter:CharacterClass:[\\D]", "enter:CharacterSet:\\D", "leave:CharacterSet:\\D", "leave:CharacterClass:[\\D]", "leave:Alternative:[\\D]", "leave:Pattern:[\\D]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\D]/u" ], "/[\\s]/u": [ "enter:RegExpLiteral:/[\\s]/u", "enter:Pattern:[\\s]", "enter:Alternative:[\\s]", "enter:CharacterClass:[\\s]", "enter:CharacterSet:\\s", "leave:CharacterSet:\\s", "leave:CharacterClass:[\\s]", "leave:Alternative:[\\s]", "leave:Pattern:[\\s]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\s]/u" ], "/[\\S]/u": [ "enter:RegExpLiteral:/[\\S]/u", "enter:Pattern:[\\S]", "enter:Alternative:[\\S]", "enter:CharacterClass:[\\S]", "enter:CharacterSet:\\S", "leave:CharacterSet:\\S", "leave:CharacterClass:[\\S]", "leave:Alternative:[\\S]", "leave:Pattern:[\\S]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\S]/u" ], "/[\\w]/u": [ "enter:RegExpLiteral:/[\\w]/u", "enter:Pattern:[\\w]", "enter:Alternative:[\\w]", "enter:CharacterClass:[\\w]", "enter:CharacterSet:\\w", "leave:CharacterSet:\\w", "leave:CharacterClass:[\\w]", "leave:Alternative:[\\w]", "leave:Pattern:[\\w]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\w]/u" ], "/[\\W]/u": [ "enter:RegExpLiteral:/[\\W]/u", "enter:Pattern:[\\W]", "enter:Alternative:[\\W]", "enter:CharacterClass:[\\W]", "enter:CharacterSet:\\W", "leave:CharacterSet:\\W", "leave:CharacterClass:[\\W]", "leave:Alternative:[\\W]", "leave:Pattern:[\\W]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\W]/u" ], "/[\\f]/u": [ "enter:RegExpLiteral:/[\\f]/u", "enter:Pattern:[\\f]", "enter:Alternative:[\\f]", "enter:CharacterClass:[\\f]", "enter:Character:\\f", "leave:Character:\\f", "leave:CharacterClass:[\\f]", "leave:Alternative:[\\f]", "leave:Pattern:[\\f]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\f]/u" ], "/[\\n]/u": [ "enter:RegExpLiteral:/[\\n]/u", "enter:Pattern:[\\n]", "enter:Alternative:[\\n]", "enter:CharacterClass:[\\n]", "enter:Character:\\n", "leave:Character:\\n", "leave:CharacterClass:[\\n]", "leave:Alternative:[\\n]", "leave:Pattern:[\\n]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\n]/u" ], "/[\\r]/u": [ "enter:RegExpLiteral:/[\\r]/u", "enter:Pattern:[\\r]", "enter:Alternative:[\\r]", "enter:CharacterClass:[\\r]", "enter:Character:\\r", "leave:Character:\\r", "leave:CharacterClass:[\\r]", "leave:Alternative:[\\r]", "leave:Pattern:[\\r]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\r]/u" ], "/[\\t]/u": [ "enter:RegExpLiteral:/[\\t]/u", "enter:Pattern:[\\t]", "enter:Alternative:[\\t]", "enter:CharacterClass:[\\t]", "enter:Character:\\t", "leave:Character:\\t", "leave:CharacterClass:[\\t]", "leave:Alternative:[\\t]", "leave:Pattern:[\\t]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\t]/u" ], "/[\\v]/u": [ "enter:RegExpLiteral:/[\\v]/u", "enter:Pattern:[\\v]", "enter:Alternative:[\\v]", "enter:CharacterClass:[\\v]", "enter:Character:\\v", "leave:Character:\\v", "leave:CharacterClass:[\\v]", "leave:Alternative:[\\v]", "leave:Pattern:[\\v]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\v]/u" ], "/[\\cA]/u": [ "enter:RegExpLiteral:/[\\cA]/u", "enter:Pattern:[\\cA]", "enter:Alternative:[\\cA]", "enter:CharacterClass:[\\cA]", "enter:Character:\\cA", "leave:Character:\\cA", "leave:CharacterClass:[\\cA]", "leave:Alternative:[\\cA]", "leave:Pattern:[\\cA]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\cA]/u" ], "/[\\cz]/u": [ "enter:RegExpLiteral:/[\\cz]/u", "enter:Pattern:[\\cz]", "enter:Alternative:[\\cz]", "enter:CharacterClass:[\\cz]", "enter:Character:\\cz", "leave:Character:\\cz", "leave:CharacterClass:[\\cz]", "leave:Alternative:[\\cz]", "leave:Pattern:[\\cz]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\cz]/u" ], "/[\\0]/u": [ "enter:RegExpLiteral:/[\\0]/u", "enter:Pattern:[\\0]", "enter:Alternative:[\\0]", "enter:CharacterClass:[\\0]", "enter:Character:\\0", "leave:Character:\\0", "leave:CharacterClass:[\\0]", "leave:Alternative:[\\0]", "leave:Pattern:[\\0]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\0]/u" ], "/[\\x12]/u": [ "enter:RegExpLiteral:/[\\x12]/u", "enter:Pattern:[\\x12]", "enter:Alternative:[\\x12]", "enter:CharacterClass:[\\x12]", "enter:Character:\\x12", "leave:Character:\\x12", "leave:CharacterClass:[\\x12]", "leave:Alternative:[\\x12]", "leave:Pattern:[\\x12]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\x12]/u" ], "/[\\x123]/u": [ "enter:RegExpLiteral:/[\\x123]/u", "enter:Pattern:[\\x123]", "enter:Alternative:[\\x123]", "enter:CharacterClass:[\\x123]", "enter:Character:\\x12", "leave:Character:\\x12", "enter:Character:3", "leave:Character:3", "leave:CharacterClass:[\\x123]", "leave:Alternative:[\\x123]", "leave:Pattern:[\\x123]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\x123]/u" ], "/[\\u1234]/u": [ "enter:RegExpLiteral:/[\\u1234]/u", "enter:Pattern:[\\u1234]", "enter:Alternative:[\\u1234]", "enter:CharacterClass:[\\u1234]", "enter:Character:\\u1234", "leave:Character:\\u1234", "leave:CharacterClass:[\\u1234]", "leave:Alternative:[\\u1234]", "leave:Pattern:[\\u1234]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\u1234]/u" ], "/[\\u12345]/u": [ "enter:RegExpLiteral:/[\\u12345]/u", "enter:Pattern:[\\u12345]", "enter:Alternative:[\\u12345]", "enter:CharacterClass:[\\u12345]", "enter:Character:\\u1234", "leave:Character:\\u1234", "enter:Character:5", "leave:Character:5", "leave:CharacterClass:[\\u12345]", "leave:Alternative:[\\u12345]", "leave:Pattern:[\\u12345]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\u12345]/u" ], "/[\\u{a}]/u": [ "enter:RegExpLiteral:/[\\u{a}]/u", "enter:Pattern:[\\u{a}]", "enter:Alternative:[\\u{a}]", "enter:CharacterClass:[\\u{a}]", "enter:Character:\\u{a}", "leave:Character:\\u{a}", "leave:CharacterClass:[\\u{a}]", "leave:Alternative:[\\u{a}]", "leave:Pattern:[\\u{a}]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\u{a}]/u" ], "/[\\u{20}]/u": [ "enter:RegExpLiteral:/[\\u{20}]/u", "enter:Pattern:[\\u{20}]", "enter:Alternative:[\\u{20}]", "enter:CharacterClass:[\\u{20}]", "enter:Character:\\u{20}", "leave:Character:\\u{20}", "leave:CharacterClass:[\\u{20}]", "leave:Alternative:[\\u{20}]", "leave:Pattern:[\\u{20}]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\u{20}]/u" ], "/[\\u{10FFFF}]/u": [ "enter:RegExpLiteral:/[\\u{10FFFF}]/u", "enter:Pattern:[\\u{10FFFF}]", "enter:Alternative:[\\u{10FFFF}]", "enter:CharacterClass:[\\u{10FFFF}]", "enter:Character:\\u{10FFFF}", "leave:Character:\\u{10FFFF}", "leave:CharacterClass:[\\u{10FFFF}]", "leave:Alternative:[\\u{10FFFF}]", "leave:Pattern:[\\u{10FFFF}]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\u{10FFFF}]/u" ], "/[\\u{00000001}]/u": [ "enter:RegExpLiteral:/[\\u{00000001}]/u", "enter:Pattern:[\\u{00000001}]", "enter:Alternative:[\\u{00000001}]", "enter:CharacterClass:[\\u{00000001}]", "enter:Character:\\u{00000001}", "leave:Character:\\u{00000001}", "leave:CharacterClass:[\\u{00000001}]", "leave:Alternative:[\\u{00000001}]", "leave:Pattern:[\\u{00000001}]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\u{00000001}]/u" ], "/[\\^]/u": [ "enter:RegExpLiteral:/[\\^]/u", "enter:Pattern:[\\^]", "enter:Alternative:[\\^]", "enter:CharacterClass:[\\^]", "enter:Character:\\^", "leave:Character:\\^", "leave:CharacterClass:[\\^]", "leave:Alternative:[\\^]", "leave:Pattern:[\\^]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\^]/u" ], "/[\\$]/u": [ "enter:RegExpLiteral:/[\\$]/u", "enter:Pattern:[\\$]", "enter:Alternative:[\\$]", "enter:CharacterClass:[\\$]", "enter:Character:\\$", "leave:Character:\\$", "leave:CharacterClass:[\\$]", "leave:Alternative:[\\$]", "leave:Pattern:[\\$]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\$]/u" ], "/[\\.]/u": [ "enter:RegExpLiteral:/[\\.]/u", "enter:Pattern:[\\.]", "enter:Alternative:[\\.]", "enter:CharacterClass:[\\.]", "enter:Character:\\.", "leave:Character:\\.", "leave:CharacterClass:[\\.]", "leave:Alternative:[\\.]", "leave:Pattern:[\\.]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\.]/u" ], "/[\\+]/u": [ "enter:RegExpLiteral:/[\\+]/u", "enter:Pattern:[\\+]", "enter:Alternative:[\\+]", "enter:CharacterClass:[\\+]", "enter:Character:\\+", "leave:Character:\\+", "leave:CharacterClass:[\\+]", "leave:Alternative:[\\+]", "leave:Pattern:[\\+]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\+]/u" ], "/[\\?]/u": [ "enter:RegExpLiteral:/[\\?]/u", "enter:Pattern:[\\?]", "enter:Alternative:[\\?]", "enter:CharacterClass:[\\?]", "enter:Character:\\?", "leave:Character:\\?", "leave:CharacterClass:[\\?]", "leave:Alternative:[\\?]", "leave:Pattern:[\\?]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\?]/u" ], "/[\\(]/u": [ "enter:RegExpLiteral:/[\\(]/u", "enter:Pattern:[\\(]", "enter:Alternative:[\\(]", "enter:CharacterClass:[\\(]", "enter:Character:\\(", "leave:Character:\\(", "leave:CharacterClass:[\\(]", "leave:Alternative:[\\(]", "leave:Pattern:[\\(]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\(]/u" ], "/[\\)]/u": [ "enter:RegExpLiteral:/[\\)]/u", "enter:Pattern:[\\)]", "enter:Alternative:[\\)]", "enter:CharacterClass:[\\)]", "enter:Character:\\)", "leave:Character:\\)", "leave:CharacterClass:[\\)]", "leave:Alternative:[\\)]", "leave:Pattern:[\\)]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\)]/u" ], "/[\\[]/u": [ "enter:RegExpLiteral:/[\\[]/u", "enter:Pattern:[\\[]", "enter:Alternative:[\\[]", "enter:CharacterClass:[\\[]", "enter:Character:\\[", "leave:Character:\\[", "leave:CharacterClass:[\\[]", "leave:Alternative:[\\[]", "leave:Pattern:[\\[]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\[]/u" ], "/[\\]]/u": [ "enter:RegExpLiteral:/[\\]]/u", "enter:Pattern:[\\]]", "enter:Alternative:[\\]]", "enter:CharacterClass:[\\]]", "enter:Character:\\]", "leave:Character:\\]", "leave:CharacterClass:[\\]]", "leave:Alternative:[\\]]", "leave:Pattern:[\\]]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\]]/u" ], "/[\\{]/u": [ "enter:RegExpLiteral:/[\\{]/u", "enter:Pattern:[\\{]", "enter:Alternative:[\\{]", "enter:CharacterClass:[\\{]", "enter:Character:\\{", "leave:Character:\\{", "leave:CharacterClass:[\\{]", "leave:Alternative:[\\{]", "leave:Pattern:[\\{]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\{]/u" ], "/[\\}]/u": [ "enter:RegExpLiteral:/[\\}]/u", "enter:Pattern:[\\}]", "enter:Alternative:[\\}]", "enter:CharacterClass:[\\}]", "enter:Character:\\}", "leave:Character:\\}", "leave:CharacterClass:[\\}]", "leave:Alternative:[\\}]", "leave:Pattern:[\\}]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\}]/u" ], "/[\\|]/u": [ "enter:RegExpLiteral:/[\\|]/u", "enter:Pattern:[\\|]", "enter:Alternative:[\\|]", "enter:CharacterClass:[\\|]", "enter:Character:\\|", "leave:Character:\\|", "leave:CharacterClass:[\\|]", "leave:Alternative:[\\|]", "leave:Pattern:[\\|]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\|]/u" ], "/[\\/]/u": [ "enter:RegExpLiteral:/[\\/]/u", "enter:Pattern:[\\/]", "enter:Alternative:[\\/]", "enter:CharacterClass:[\\/]", "enter:Character:\\/", "leave:Character:\\/", "leave:CharacterClass:[\\/]", "leave:Alternative:[\\/]", "leave:Pattern:[\\/]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\/]/u" ], "/[\\u0000-\\u0001]/u": [ "enter:RegExpLiteral:/[\\u0000-\\u0001]/u", "enter:Pattern:[\\u0000-\\u0001]", "enter:Alternative:[\\u0000-\\u0001]", "enter:CharacterClass:[\\u0000-\\u0001]", "enter:CharacterClassRange:\\u0000-\\u0001", "enter:Character:\\u0000", "leave:Character:\\u0000", "enter:Character:\\u0001", "leave:Character:\\u0001", "leave:CharacterClassRange:\\u0000-\\u0001", "leave:CharacterClass:[\\u0000-\\u0001]", "leave:Alternative:[\\u0000-\\u0001]", "leave:Pattern:[\\u0000-\\u0001]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\u0000-\\u0001]/u" ], "/[\\u{1}-\\u{2}]/u": [ "enter:RegExpLiteral:/[\\u{1}-\\u{2}]/u", "enter:Pattern:[\\u{1}-\\u{2}]", "enter:Alternative:[\\u{1}-\\u{2}]", "enter:CharacterClass:[\\u{1}-\\u{2}]", "enter:CharacterClassRange:\\u{1}-\\u{2}", "enter:Character:\\u{1}", "leave:Character:\\u{1}", "enter:Character:\\u{2}", "leave:Character:\\u{2}", "leave:CharacterClassRange:\\u{1}-\\u{2}", "leave:CharacterClass:[\\u{1}-\\u{2}]", "leave:Alternative:[\\u{1}-\\u{2}]", "leave:Pattern:[\\u{1}-\\u{2}]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\u{1}-\\u{2}]/u" ], "/[0-9--/]/u": [ "enter:RegExpLiteral:/[0-9--/]/u", "enter:Pattern:[0-9--/]", "enter:Alternative:[0-9--/]", "enter:CharacterClass:[0-9--/]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "enter:CharacterClassRange:--/", "enter:Character:-", "leave:Character:-", "enter:Character:/", "leave:Character:/", "leave:CharacterClassRange:--/", "leave:CharacterClass:[0-9--/]", "leave:Alternative:[0-9--/]", "leave:Pattern:[0-9--/]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[0-9--/]/u" ], "/[🌷-🌸]/u": [ "enter:RegExpLiteral:/[🌷-🌸]/u", "enter:Pattern:[🌷-🌸]", "enter:Alternative:[🌷-🌸]", "enter:CharacterClass:[🌷-🌸]", "enter:CharacterClassRange:🌷-🌸", "enter:Character:🌷", "leave:Character:🌷", "enter:Character:🌸", "leave:Character:🌸", "leave:CharacterClassRange:🌷-🌸", "leave:CharacterClass:[🌷-🌸]", "leave:Alternative:[🌷-🌸]", "leave:Pattern:[🌷-🌸]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[🌷-🌸]/u" ], "/[\\u0000-🌸-\\u0000]/u": [ "enter:RegExpLiteral:/[\\u0000-🌸-\\u0000]/u", "enter:Pattern:[\\u0000-🌸-\\u0000]", "enter:Alternative:[\\u0000-🌸-\\u0000]", "enter:CharacterClass:[\\u0000-🌸-\\u0000]", "enter:CharacterClassRange:\\u0000-🌸", "enter:Character:\\u0000", "leave:Character:\\u0000", "enter:Character:🌸", "leave:Character:🌸", "leave:CharacterClassRange:\\u0000-🌸", "enter:Character:-", "leave:Character:-", "enter:Character:\\u0000", "leave:Character:\\u0000", "leave:CharacterClass:[\\u0000-🌸-\\u0000]", "leave:Alternative:[\\u0000-🌸-\\u0000]", "leave:Pattern:[\\u0000-🌸-\\u0000]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\u0000-🌸-\\u0000]/u" ], "/[\\u0000-\\u{1f338}-\\u0000]/u": [ "enter:RegExpLiteral:/[\\u0000-\\u{1f338}-\\u0000]/u", "enter:Pattern:[\\u0000-\\u{1f338}-\\u0000]", "enter:Alternative:[\\u0000-\\u{1f338}-\\u0000]", "enter:CharacterClass:[\\u0000-\\u{1f338}-\\u0000]", "enter:CharacterClassRange:\\u0000-\\u{1f338}", "enter:Character:\\u0000", "leave:Character:\\u0000", "enter:Character:\\u{1f338}", "leave:Character:\\u{1f338}", "leave:CharacterClassRange:\\u0000-\\u{1f338}", "enter:Character:-", "leave:Character:-", "enter:Character:\\u0000", "leave:Character:\\u0000", "leave:CharacterClass:[\\u0000-\\u{1f338}-\\u0000]", "leave:Alternative:[\\u0000-\\u{1f338}-\\u0000]", "leave:Pattern:[\\u0000-\\u{1f338}-\\u0000]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\u0000-\\u{1f338}-\\u0000]/u" ], "/[\\u0000-\\ud83c\\udf38-\\u0000]/u": [ "enter:RegExpLiteral:/[\\u0000-\\ud83c\\udf38-\\u0000]/u", "enter:Pattern:[\\u0000-\\ud83c\\udf38-\\u0000]", "enter:Alternative:[\\u0000-\\ud83c\\udf38-\\u0000]", "enter:CharacterClass:[\\u0000-\\ud83c\\udf38-\\u0000]", "enter:CharacterClassRange:\\u0000-\\ud83c\\udf38", "enter:Character:\\u0000", "leave:Character:\\u0000", "enter:Character:\\ud83c\\udf38", "leave:Character:\\ud83c\\udf38", "leave:CharacterClassRange:\\u0000-\\ud83c\\udf38", "enter:Character:-", "leave:Character:-", "enter:Character:\\u0000", "leave:Character:\\u0000", "leave:CharacterClass:[\\u0000-\\ud83c\\udf38-\\u0000]", "leave:Alternative:[\\u0000-\\ud83c\\udf38-\\u0000]", "leave:Pattern:[\\u0000-\\ud83c\\udf38-\\u0000]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\u0000-\\ud83c\\udf38-\\u0000]/u" ], "/[\\uD834\\uDF06-\\uD834\\uDF08a-z]/u": [ "enter:RegExpLiteral:/[\\uD834\\uDF06-\\uD834\\uDF08a-z]/u", "enter:Pattern:[\\uD834\\uDF06-\\uD834\\uDF08a-z]", "enter:Alternative:[\\uD834\\uDF06-\\uD834\\uDF08a-z]", "enter:CharacterClass:[\\uD834\\uDF06-\\uD834\\uDF08a-z]", "enter:CharacterClassRange:\\uD834\\uDF06-\\uD834\\uDF08", "enter:Character:\\uD834\\uDF06", "leave:Character:\\uD834\\uDF06", "enter:Character:\\uD834\\uDF08", "leave:Character:\\uD834\\uDF08", "leave:CharacterClassRange:\\uD834\\uDF06-\\uD834\\uDF08", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "leave:CharacterClass:[\\uD834\\uDF06-\\uD834\\uDF08a-z]", "leave:Alternative:[\\uD834\\uDF06-\\uD834\\uDF08a-z]", "leave:Pattern:[\\uD834\\uDF06-\\uD834\\uDF08a-z]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\uD834\\uDF06-\\uD834\\uDF08a-z]/u" ], "/^[0-9]*$/u": [ "enter:RegExpLiteral:/^[0-9]*$/u", "enter:Pattern:^[0-9]*$", "enter:Alternative:^[0-9]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[0-9]*", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[0-9]*$", "leave:Pattern:^[0-9]*$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^[0-9]*$/u" ], "/^[0-9]+$/u": [ "enter:RegExpLiteral:/^[0-9]+$/u", "enter:Pattern:^[0-9]+$", "enter:Alternative:^[0-9]+$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[0-9]+", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]+", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[0-9]+$", "leave:Pattern:^[0-9]+$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^[0-9]+$/u" ], "/^[a-zA-Z]*$/u": [ "enter:RegExpLiteral:/^[a-zA-Z]*$/u", "enter:Pattern:^[a-zA-Z]*$", "enter:Alternative:^[a-zA-Z]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[a-zA-Z]*", "enter:CharacterClass:[a-zA-Z]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "leave:CharacterClass:[a-zA-Z]", "leave:Quantifier:[a-zA-Z]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[a-zA-Z]*$", "leave:Pattern:^[a-zA-Z]*$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^[a-zA-Z]*$/u" ], "/^[a-zA-Z]+$/u": [ "enter:RegExpLiteral:/^[a-zA-Z]+$/u", "enter:Pattern:^[a-zA-Z]+$", "enter:Alternative:^[a-zA-Z]+$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[a-zA-Z]+", "enter:CharacterClass:[a-zA-Z]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "leave:CharacterClass:[a-zA-Z]", "leave:Quantifier:[a-zA-Z]+", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[a-zA-Z]+$", "leave:Pattern:^[a-zA-Z]+$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^[a-zA-Z]+$/u" ], "/^[0-9a-zA-Z]*$/u": [ "enter:RegExpLiteral:/^[0-9a-zA-Z]*$/u", "enter:Pattern:^[0-9a-zA-Z]*$", "enter:Alternative:^[0-9a-zA-Z]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[0-9a-zA-Z]*", "enter:CharacterClass:[0-9a-zA-Z]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "leave:CharacterClass:[0-9a-zA-Z]", "leave:Quantifier:[0-9a-zA-Z]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[0-9a-zA-Z]*$", "leave:Pattern:^[0-9a-zA-Z]*$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^[0-9a-zA-Z]*$/u" ], "/^[a-zA-Z0-9!-/:-@\\[-`{-~]*$/u": [ "enter:RegExpLiteral:/^[a-zA-Z0-9!-/:-@\\[-`{-~]*$/u", "enter:Pattern:^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "enter:Alternative:^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[a-zA-Z0-9!-/:-@\\[-`{-~]*", "enter:CharacterClass:[a-zA-Z0-9!-/:-@\\[-`{-~]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "enter:CharacterClassRange:!-/", "enter:Character:!", "leave:Character:!", "enter:Character:/", "leave:Character:/", "leave:CharacterClassRange:!-/", "enter:CharacterClassRange::-@", "enter:Character::", "leave:Character::", "enter:Character:@", "leave:Character:@", "leave:CharacterClassRange::-@", "enter:CharacterClassRange:\\[-`", "enter:Character:\\[", "leave:Character:\\[", "enter:Character:`", "leave:Character:`", "leave:CharacterClassRange:\\[-`", "enter:CharacterClassRange:{-~", "enter:Character:{", "leave:Character:{", "enter:Character:~", "leave:Character:~", "leave:CharacterClassRange:{-~", "leave:CharacterClass:[a-zA-Z0-9!-/:-@\\[-`{-~]", "leave:Quantifier:[a-zA-Z0-9!-/:-@\\[-`{-~]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "leave:Pattern:^[a-zA-Z0-9!-/:-@\\[-`{-~]*$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^[a-zA-Z0-9!-/:-@\\[-`{-~]*$/u" ], "/^([a-zA-Z0-9]{8,})$/u": [ "enter:RegExpLiteral:/^([a-zA-Z0-9]{8,})$/u", "enter:Pattern:^([a-zA-Z0-9]{8,})$", "enter:Alternative:^([a-zA-Z0-9]{8,})$", "enter:Assertion:^", "leave:Assertion:^", "enter:CapturingGroup:([a-zA-Z0-9]{8,})", "enter:Alternative:[a-zA-Z0-9]{8,}", "enter:Quantifier:[a-zA-Z0-9]{8,}", "enter:CharacterClass:[a-zA-Z0-9]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[a-zA-Z0-9]", "leave:Quantifier:[a-zA-Z0-9]{8,}", "leave:Alternative:[a-zA-Z0-9]{8,}", "leave:CapturingGroup:([a-zA-Z0-9]{8,})", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^([a-zA-Z0-9]{8,})$", "leave:Pattern:^([a-zA-Z0-9]{8,})$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^([a-zA-Z0-9]{8,})$/u" ], "/^([a-zA-Z0-9]{6,8})$/u": [ "enter:RegExpLiteral:/^([a-zA-Z0-9]{6,8})$/u", "enter:Pattern:^([a-zA-Z0-9]{6,8})$", "enter:Alternative:^([a-zA-Z0-9]{6,8})$", "enter:Assertion:^", "leave:Assertion:^", "enter:CapturingGroup:([a-zA-Z0-9]{6,8})", "enter:Alternative:[a-zA-Z0-9]{6,8}", "enter:Quantifier:[a-zA-Z0-9]{6,8}", "enter:CharacterClass:[a-zA-Z0-9]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[a-zA-Z0-9]", "leave:Quantifier:[a-zA-Z0-9]{6,8}", "leave:Alternative:[a-zA-Z0-9]{6,8}", "leave:CapturingGroup:([a-zA-Z0-9]{6,8})", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^([a-zA-Z0-9]{6,8})$", "leave:Pattern:^([a-zA-Z0-9]{6,8})$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^([a-zA-Z0-9]{6,8})$/u" ], "/^([0-9]{0,8})$/u": [ "enter:RegExpLiteral:/^([0-9]{0,8})$/u", "enter:Pattern:^([0-9]{0,8})$", "enter:Alternative:^([0-9]{0,8})$", "enter:Assertion:^", "leave:Assertion:^", "enter:CapturingGroup:([0-9]{0,8})", "enter:Alternative:[0-9]{0,8}", "enter:Quantifier:[0-9]{0,8}", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]{0,8}", "leave:Alternative:[0-9]{0,8}", "leave:CapturingGroup:([0-9]{0,8})", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^([0-9]{0,8})$", "leave:Pattern:^([0-9]{0,8})$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^([0-9]{0,8})$/u" ], "/^[0-9]{8}$/u": [ "enter:RegExpLiteral:/^[0-9]{8}$/u", "enter:Pattern:^[0-9]{8}$", "enter:Alternative:^[0-9]{8}$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[0-9]{8}", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]{8}", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[0-9]{8}$", "leave:Pattern:^[0-9]{8}$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^[0-9]{8}$/u" ], "/^https?:\\/\\//u": [ "enter:RegExpLiteral:/^https?:\\/\\//u", "enter:Pattern:^https?:\\/\\/", "enter:Alternative:^https?:\\/\\/", "enter:Assertion:^", "leave:Assertion:^", "enter:Character:h", "leave:Character:h", "enter:Character:t", "leave:Character:t", "enter:Character:t", "leave:Character:t", "enter:Character:p", "leave:Character:p", "enter:Quantifier:s?", "enter:Character:s", "leave:Character:s", "leave:Quantifier:s?", "enter:Character::", "leave:Character::", "enter:Character:\\/", "leave:Character:\\/", "enter:Character:\\/", "leave:Character:\\/", "leave:Alternative:^https?:\\/\\/", "leave:Pattern:^https?:\\/\\/", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^https?:\\/\\//u" ], "/^\\d{3}-\\d{4}$/u": [ "enter:RegExpLiteral:/^\\d{3}-\\d{4}$/u", "enter:Pattern:^\\d{3}-\\d{4}$", "enter:Alternative:^\\d{3}-\\d{4}$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:\\d{3}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{3}", "enter:Character:-", "leave:Character:-", "enter:Quantifier:\\d{4}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{4}", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^\\d{3}-\\d{4}$", "leave:Pattern:^\\d{3}-\\d{4}$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^\\d{3}-\\d{4}$/u" ], "/^\\d{1,3}(.\\d{1,3}){3}$/u": [ "enter:RegExpLiteral:/^\\d{1,3}(.\\d{1,3}){3}$/u", "enter:Pattern:^\\d{1,3}(.\\d{1,3}){3}$", "enter:Alternative:^\\d{1,3}(.\\d{1,3}){3}$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:\\d{1,3}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{1,3}", "enter:Quantifier:(.\\d{1,3}){3}", "enter:CapturingGroup:(.\\d{1,3})", "enter:Alternative:.\\d{1,3}", "enter:CharacterSet:.", "leave:CharacterSet:.", "enter:Quantifier:\\d{1,3}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{1,3}", "leave:Alternative:.\\d{1,3}", "leave:CapturingGroup:(.\\d{1,3})", "leave:Quantifier:(.\\d{1,3}){3}", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^\\d{1,3}(.\\d{1,3}){3}$", "leave:Pattern:^\\d{1,3}(.\\d{1,3}){3}$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^\\d{1,3}(.\\d{1,3}){3}$/u" ], "/^([1-9][0-9]*|0)(\\.[0-9]+)?$/u": [ "enter:RegExpLiteral:/^([1-9][0-9]*|0)(\\.[0-9]+)?$/u", "enter:Pattern:^([1-9][0-9]*|0)(\\.[0-9]+)?$", "enter:Alternative:^([1-9][0-9]*|0)(\\.[0-9]+)?$", "enter:Assertion:^", "leave:Assertion:^", "enter:CapturingGroup:([1-9][0-9]*|0)", "enter:Alternative:[1-9][0-9]*", "enter:CharacterClass:[1-9]", "enter:CharacterClassRange:1-9", "enter:Character:1", "leave:Character:1", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:1-9", "leave:CharacterClass:[1-9]", "enter:Quantifier:[0-9]*", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]*", "leave:Alternative:[1-9][0-9]*", "enter:Alternative:0", "enter:Character:0", "leave:Character:0", "leave:Alternative:0", "leave:CapturingGroup:([1-9][0-9]*|0)", "enter:Quantifier:(\\.[0-9]+)?", "enter:CapturingGroup:(\\.[0-9]+)", "enter:Alternative:\\.[0-9]+", "enter:Character:\\.", "leave:Character:\\.", "enter:Quantifier:[0-9]+", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]+", "leave:Alternative:\\.[0-9]+", "leave:CapturingGroup:(\\.[0-9]+)", "leave:Quantifier:(\\.[0-9]+)?", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^([1-9][0-9]*|0)(\\.[0-9]+)?$", "leave:Pattern:^([1-9][0-9]*|0)(\\.[0-9]+)?$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^([1-9][0-9]*|0)(\\.[0-9]+)?$/u" ], "/^-?([1-9][0-9]*|0)(\\.[0-9]+)?$/u": [ "enter:RegExpLiteral:/^-?([1-9][0-9]*|0)(\\.[0-9]+)?$/u", "enter:Pattern:^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "enter:Alternative:^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:-?", "enter:Character:-", "leave:Character:-", "leave:Quantifier:-?", "enter:CapturingGroup:([1-9][0-9]*|0)", "enter:Alternative:[1-9][0-9]*", "enter:CharacterClass:[1-9]", "enter:CharacterClassRange:1-9", "enter:Character:1", "leave:Character:1", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:1-9", "leave:CharacterClass:[1-9]", "enter:Quantifier:[0-9]*", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]*", "leave:Alternative:[1-9][0-9]*", "enter:Alternative:0", "enter:Character:0", "leave:Character:0", "leave:Alternative:0", "leave:CapturingGroup:([1-9][0-9]*|0)", "enter:Quantifier:(\\.[0-9]+)?", "enter:CapturingGroup:(\\.[0-9]+)", "enter:Alternative:\\.[0-9]+", "enter:Character:\\.", "leave:Character:\\.", "enter:Quantifier:[0-9]+", "enter:CharacterClass:[0-9]", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "leave:CharacterClass:[0-9]", "leave:Quantifier:[0-9]+", "leave:Alternative:\\.[0-9]+", "leave:CapturingGroup:(\\.[0-9]+)", "leave:Quantifier:(\\.[0-9]+)?", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "leave:Pattern:^-?([1-9][0-9]*|0)(\\.[0-9]+)?$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^-?([1-9][0-9]*|0)(\\.[0-9]+)?$/u" ], "/^[ぁ-んー]*$/u": [ "enter:RegExpLiteral:/^[ぁ-んー]*$/u", "enter:Pattern:^[ぁ-んー]*$", "enter:Alternative:^[ぁ-んー]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[ぁ-んー]*", "enter:CharacterClass:[ぁ-んー]", "enter:CharacterClassRange:ぁ-ん", "enter:Character:ぁ", "leave:Character:ぁ", "enter:Character:ん", "leave:Character:ん", "leave:CharacterClassRange:ぁ-ん", "enter:Character:ー", "leave:Character:ー", "leave:CharacterClass:[ぁ-んー]", "leave:Quantifier:[ぁ-んー]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[ぁ-んー]*$", "leave:Pattern:^[ぁ-んー]*$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^[ぁ-んー]*$/u" ], "/^[ァ-ンヴー]*$/u": [ "enter:RegExpLiteral:/^[ァ-ンヴー]*$/u", "enter:Pattern:^[ァ-ンヴー]*$", "enter:Alternative:^[ァ-ンヴー]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[ァ-ンヴー]*", "enter:CharacterClass:[ァ-ンヴー]", "enter:CharacterClassRange:ァ-ン", "enter:Character:ァ", "leave:Character:ァ", "enter:Character:ン", "leave:Character:ン", "leave:CharacterClassRange:ァ-ン", "enter:Character:ヴ", "leave:Character:ヴ", "enter:Character:ー", "leave:Character:ー", "leave:CharacterClass:[ァ-ンヴー]", "leave:Quantifier:[ァ-ンヴー]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[ァ-ンヴー]*$", "leave:Pattern:^[ァ-ンヴー]*$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^[ァ-ンヴー]*$/u" ], "/^[ァ-ン゙゚\\-]*$/u": [ "enter:RegExpLiteral:/^[ァ-ン゙゚\\-]*$/u", "enter:Pattern:^[ァ-ン゙゚\\-]*$", "enter:Alternative:^[ァ-ン゙゚\\-]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[ァ-ン゙゚\\-]*", "enter:CharacterClass:[ァ-ン゙゚\\-]", "enter:CharacterClassRange:ァ-ン", "enter:Character:ァ", "leave:Character:ァ", "enter:Character:ン", "leave:Character:ン", "leave:CharacterClassRange:ァ-ン", "enter:Character:゙", "leave:Character:゙", "enter:Character:゚", "leave:Character:゚", "enter:Character:\\-", "leave:Character:\\-", "leave:CharacterClass:[ァ-ン゙゚\\-]", "leave:Quantifier:[ァ-ン゙゚\\-]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[ァ-ン゙゚\\-]*$", "leave:Pattern:^[ァ-ン゙゚\\-]*$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^[ァ-ン゙゚\\-]*$/u" ], "/^[^\\x20-\\x7e]*$/u": [ "enter:RegExpLiteral:/^[^\\x20-\\x7e]*$/u", "enter:Pattern:^[^\\x20-\\x7e]*$", "enter:Alternative:^[^\\x20-\\x7e]*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[^\\x20-\\x7e]*", "enter:CharacterClass:[^\\x20-\\x7e]", "enter:CharacterClassRange:\\x20-\\x7e", "enter:Character:\\x20", "leave:Character:\\x20", "enter:Character:\\x7e", "leave:Character:\\x7e", "leave:CharacterClassRange:\\x20-\\x7e", "leave:CharacterClass:[^\\x20-\\x7e]", "leave:Quantifier:[^\\x20-\\x7e]*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[^\\x20-\\x7e]*$", "leave:Pattern:^[^\\x20-\\x7e]*$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^[^\\x20-\\x7e]*$/u" ], "/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/u": [ "enter:RegExpLiteral:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/u", "enter:Pattern:^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "enter:Alternative:^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+", "enter:CharacterClass:[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "enter:Character:.", "leave:Character:.", "enter:Character:!", "leave:Character:!", "enter:Character:#", "leave:Character:#", "enter:Character:$", "leave:Character:$", "enter:Character:%", "leave:Character:%", "enter:Character:&", "leave:Character:&", "enter:Character:'", "leave:Character:'", "enter:Character:*", "leave:Character:*", "enter:Character:+", "leave:Character:+", "enter:Character:/", "leave:Character:/", "enter:Character:=", "leave:Character:=", "enter:Character:?", "leave:Character:?", "enter:Character:^", "leave:Character:^", "enter:Character:_", "leave:Character:_", "enter:Character:`", "leave:Character:`", "enter:Character:{", "leave:Character:{", "enter:Character:|", "leave:Character:|", "enter:Character:}", "leave:Character:}", "enter:Character:~", "leave:Character:~", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]", "leave:Quantifier:[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+", "enter:Character:@", "leave:Character:@", "enter:Quantifier:[a-zA-Z0-9-]+", "enter:CharacterClass:[a-zA-Z0-9-]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[a-zA-Z0-9-]", "leave:Quantifier:[a-zA-Z0-9-]+", "enter:Quantifier:(?:\\.[a-zA-Z0-9-]+)*", "enter:Group:(?:\\.[a-zA-Z0-9-]+)", "enter:Alternative:\\.[a-zA-Z0-9-]+", "enter:Character:\\.", "leave:Character:\\.", "enter:Quantifier:[a-zA-Z0-9-]+", "enter:CharacterClass:[a-zA-Z0-9-]", "enter:CharacterClassRange:a-z", "enter:Character:a", "leave:Character:a", "enter:Character:z", "leave:Character:z", "leave:CharacterClassRange:a-z", "enter:CharacterClassRange:A-Z", "enter:Character:A", "leave:Character:A", "enter:Character:Z", "leave:Character:Z", "leave:CharacterClassRange:A-Z", "enter:CharacterClassRange:0-9", "enter:Character:0", "leave:Character:0", "enter:Character:9", "leave:Character:9", "leave:CharacterClassRange:0-9", "enter:Character:-", "leave:Character:-", "leave:CharacterClass:[a-zA-Z0-9-]", "leave:Quantifier:[a-zA-Z0-9-]+", "leave:Alternative:\\.[a-zA-Z0-9-]+", "leave:Group:(?:\\.[a-zA-Z0-9-]+)", "leave:Quantifier:(?:\\.[a-zA-Z0-9-]+)*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "leave:Pattern:^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/u" ], "/^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$/u": [ "enter:RegExpLiteral:/^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$/u", "enter:Pattern:^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$", "enter:Alternative:^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}", "enter:Assertion:^", "leave:Assertion:^", "enter:CapturingGroup:((4\\d{3})|(5[1-5]\\d{2})|(6011))", "enter:Alternative:(4\\d{3})", "enter:CapturingGroup:(4\\d{3})", "enter:Alternative:4\\d{3}", "enter:Character:4", "leave:Character:4", "enter:Quantifier:\\d{3}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{3}", "leave:Alternative:4\\d{3}", "leave:CapturingGroup:(4\\d{3})", "leave:Alternative:(4\\d{3})", "enter:Alternative:(5[1-5]\\d{2})", "enter:CapturingGroup:(5[1-5]\\d{2})", "enter:Alternative:5[1-5]\\d{2}", "enter:Character:5", "leave:Character:5", "enter:CharacterClass:[1-5]", "enter:CharacterClassRange:1-5", "enter:Character:1", "leave:Character:1", "enter:Character:5", "leave:Character:5", "leave:CharacterClassRange:1-5", "leave:CharacterClass:[1-5]", "enter:Quantifier:\\d{2}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{2}", "leave:Alternative:5[1-5]\\d{2}", "leave:CapturingGroup:(5[1-5]\\d{2})", "leave:Alternative:(5[1-5]\\d{2})", "enter:Alternative:(6011)", "enter:CapturingGroup:(6011)", "enter:Alternative:6011", "enter:Character:6", "leave:Character:6", "enter:Character:0", "leave:Character:0", "enter:Character:1", "leave:Character:1", "enter:Character:1", "leave:Character:1", "leave:Alternative:6011", "leave:CapturingGroup:(6011)", "leave:Alternative:(6011)", "leave:CapturingGroup:((4\\d{3})|(5[1-5]\\d{2})|(6011))", "enter:Quantifier:([- ])?", "enter:CapturingGroup:([- ])", "enter:Alternative:[- ]", "enter:CharacterClass:[- ]", "enter:Character:-", "leave:Character:-", "enter:Character: ", "leave:Character: ", "leave:CharacterClass:[- ]", "leave:Alternative:[- ]", "leave:CapturingGroup:([- ])", "leave:Quantifier:([- ])?", "enter:Quantifier:\\d{4}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{4}", "enter:Quantifier:([- ])?", "enter:CapturingGroup:([- ])", "enter:Alternative:[- ]", "enter:CharacterClass:[- ]", "enter:Character:-", "leave:Character:-", "enter:Character: ", "leave:Character: ", "leave:CharacterClass:[- ]", "leave:Alternative:[- ]", "leave:CapturingGroup:([- ])", "leave:Quantifier:([- ])?", "enter:Quantifier:\\d{4}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{4}", "enter:Quantifier:([- ])?", "enter:CapturingGroup:([- ])", "enter:Alternative:[- ]", "enter:CharacterClass:[- ]", "enter:Character:-", "leave:Character:-", "enter:Character: ", "leave:Character: ", "leave:CharacterClass:[- ]", "leave:Alternative:[- ]", "leave:CapturingGroup:([- ])", "leave:Quantifier:([- ])?", "enter:Quantifier:\\d{4}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{4}", "leave:Alternative:^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}", "enter:Alternative:3[4,7]\\d{13}$", "enter:Character:3", "leave:Character:3", "enter:CharacterClass:[4,7]", "enter:Character:4", "leave:Character:4", "enter:Character:,", "leave:Character:,", "enter:Character:7", "leave:Character:7", "leave:CharacterClass:[4,7]", "enter:Quantifier:\\d{13}", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Quantifier:\\d{13}", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:3[4,7]\\d{13}$", "leave:Pattern:^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^((4\\d{3})|(5[1-5]\\d{2})|(6011))([- ])?\\d{4}([- ])?\\d{4}([- ])?\\d{4}|3[4,7]\\d{13}$/u" ], "/^\\s*|\\s*$/u": [ "enter:RegExpLiteral:/^\\s*|\\s*$/u", "enter:Pattern:^\\s*|\\s*$", "enter:Alternative:^\\s*", "enter:Assertion:^", "leave:Assertion:^", "enter:Quantifier:\\s*", "enter:CharacterSet:\\s", "leave:CharacterSet:\\s", "leave:Quantifier:\\s*", "leave:Alternative:^\\s*", "enter:Alternative:\\s*$", "enter:Quantifier:\\s*", "enter:CharacterSet:\\s", "leave:CharacterSet:\\s", "leave:Quantifier:\\s*", "enter:Assertion:$", "leave:Assertion:$", "leave:Alternative:\\s*$", "leave:Pattern:^\\s*|\\s*$", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/^\\s*|\\s*$/u" ], "/(?<=a)/": [ "enter:RegExpLiteral:/(?<=a)/", "enter:Pattern:(?<=a)", "enter:Alternative:(?<=a)", "enter:Assertion:(?<=a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Assertion:(?<=a)", "leave:Alternative:(?<=a)", "leave:Pattern:(?<=a)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?<=a)/" ], "/(?<=a)/u": [ "enter:RegExpLiteral:/(?<=a)/u", "enter:Pattern:(?<=a)", "enter:Alternative:(?<=a)", "enter:Assertion:(?<=a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:Assertion:(?<=a)", "leave:Alternative:(?<=a)", "leave:Pattern:(?<=a)", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?<=a)/u" ], "/(?\\w){3})f/u": [ "enter:RegExpLiteral:/(?<=(?\\w){3})f/u", "enter:Pattern:(?<=(?\\w){3})f", "enter:Alternative:(?<=(?\\w){3})f", "enter:Assertion:(?<=(?\\w){3})", "enter:Alternative:(?\\w){3}", "enter:Quantifier:(?\\w){3}", "enter:CapturingGroup:(?\\w)", "enter:Alternative:\\w", "enter:CharacterSet:\\w", "leave:CharacterSet:\\w", "leave:Alternative:\\w", "leave:CapturingGroup:(?\\w)", "leave:Quantifier:(?\\w){3}", "leave:Alternative:(?\\w){3}", "leave:Assertion:(?<=(?\\w){3})", "enter:Character:f", "leave:Character:f", "leave:Alternative:(?<=(?\\w){3})f", "leave:Pattern:(?<=(?\\w){3})f", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?<=(?\\w){3})f/u" ], "/((?<=\\w{3}))f/u": [ "enter:RegExpLiteral:/((?<=\\w{3}))f/u", "enter:Pattern:((?<=\\w{3}))f", "enter:Alternative:((?<=\\w{3}))f", "enter:CapturingGroup:((?<=\\w{3}))", "enter:Alternative:(?<=\\w{3})", "enter:Assertion:(?<=\\w{3})", "enter:Alternative:\\w{3}", "enter:Quantifier:\\w{3}", "enter:CharacterSet:\\w", "leave:CharacterSet:\\w", "leave:Quantifier:\\w{3}", "leave:Alternative:\\w{3}", "leave:Assertion:(?<=\\w{3})", "leave:Alternative:(?<=\\w{3})", "leave:CapturingGroup:((?<=\\w{3}))", "enter:Character:f", "leave:Character:f", "leave:Alternative:((?<=\\w{3}))f", "leave:Pattern:((?<=\\w{3}))f", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/((?<=\\w{3}))f/u" ], "/(?(?<=\\w{3}))f/u": [ "enter:RegExpLiteral:/(?(?<=\\w{3}))f/u", "enter:Pattern:(?(?<=\\w{3}))f", "enter:Alternative:(?(?<=\\w{3}))f", "enter:CapturingGroup:(?(?<=\\w{3}))", "enter:Alternative:(?<=\\w{3})", "enter:Assertion:(?<=\\w{3})", "enter:Alternative:\\w{3}", "enter:Quantifier:\\w{3}", "enter:CharacterSet:\\w", "leave:CharacterSet:\\w", "leave:Quantifier:\\w{3}", "leave:Alternative:\\w{3}", "leave:Assertion:(?<=\\w{3})", "leave:Alternative:(?<=\\w{3})", "leave:CapturingGroup:(?(?<=\\w{3}))", "enter:Character:f", "leave:Character:f", "leave:Alternative:(?(?<=\\w{3}))f", "leave:Pattern:(?(?<=\\w{3}))f", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?(?<=\\w{3}))f/u" ], "/(?\\d){3})f/u": [ "enter:RegExpLiteral:/(?\\d){3})f/u", "enter:Pattern:(?\\d){3})f", "enter:Alternative:(?\\d){3})f", "enter:Assertion:(?\\d){3})", "enter:Alternative:(?\\d){3}", "enter:Quantifier:(?\\d){3}", "enter:CapturingGroup:(?\\d)", "enter:Alternative:\\d", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Alternative:\\d", "leave:CapturingGroup:(?\\d)", "leave:Quantifier:(?\\d){3}", "leave:Alternative:(?\\d){3}", "leave:Assertion:(?\\d){3})", "enter:Character:f", "leave:Character:f", "leave:Alternative:(?\\d){3})f", "leave:Pattern:(?\\d){3})f", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?\\d){3})f/u" ], "/(?\\D){3})f|f/u": [ "enter:RegExpLiteral:/(?\\D){3})f|f/u", "enter:Pattern:(?\\D){3})f|f", "enter:Alternative:(?\\D){3})f", "enter:Assertion:(?\\D){3})", "enter:Alternative:(?\\D){3}", "enter:Quantifier:(?\\D){3}", "enter:CapturingGroup:(?\\D)", "enter:Alternative:\\D", "enter:CharacterSet:\\D", "leave:CharacterSet:\\D", "leave:Alternative:\\D", "leave:CapturingGroup:(?\\D)", "leave:Quantifier:(?\\D){3}", "leave:Alternative:(?\\D){3}", "leave:Assertion:(?\\D){3})", "enter:Character:f", "leave:Character:f", "leave:Alternative:(?\\D){3})f", "enter:Alternative:f", "enter:Character:f", "leave:Character:f", "leave:Alternative:f", "leave:Pattern:(?\\D){3})f|f", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?\\D){3})f|f/u" ], "/(?(?(?(?(?(?(?(?(?(?\\w){3})f/": [ "enter:RegExpLiteral:/(?<=(?\\w){3})f/", "enter:Pattern:(?<=(?\\w){3})f", "enter:Alternative:(?<=(?\\w){3})f", "enter:Assertion:(?<=(?\\w){3})", "enter:Alternative:(?\\w){3}", "enter:Quantifier:(?\\w){3}", "enter:CapturingGroup:(?\\w)", "enter:Alternative:\\w", "enter:CharacterSet:\\w", "leave:CharacterSet:\\w", "leave:Alternative:\\w", "leave:CapturingGroup:(?\\w)", "leave:Quantifier:(?\\w){3}", "leave:Alternative:(?\\w){3}", "leave:Assertion:(?<=(?\\w){3})", "enter:Character:f", "leave:Character:f", "leave:Alternative:(?<=(?\\w){3})f", "leave:Pattern:(?<=(?\\w){3})f", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?<=(?\\w){3})f/" ], "/((?<=\\w{3}))f/": [ "enter:RegExpLiteral:/((?<=\\w{3}))f/", "enter:Pattern:((?<=\\w{3}))f", "enter:Alternative:((?<=\\w{3}))f", "enter:CapturingGroup:((?<=\\w{3}))", "enter:Alternative:(?<=\\w{3})", "enter:Assertion:(?<=\\w{3})", "enter:Alternative:\\w{3}", "enter:Quantifier:\\w{3}", "enter:CharacterSet:\\w", "leave:CharacterSet:\\w", "leave:Quantifier:\\w{3}", "leave:Alternative:\\w{3}", "leave:Assertion:(?<=\\w{3})", "leave:Alternative:(?<=\\w{3})", "leave:CapturingGroup:((?<=\\w{3}))", "enter:Character:f", "leave:Character:f", "leave:Alternative:((?<=\\w{3}))f", "leave:Pattern:((?<=\\w{3}))f", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/((?<=\\w{3}))f/" ], "/(?(?<=\\w{3}))f/": [ "enter:RegExpLiteral:/(?(?<=\\w{3}))f/", "enter:Pattern:(?(?<=\\w{3}))f", "enter:Alternative:(?(?<=\\w{3}))f", "enter:CapturingGroup:(?(?<=\\w{3}))", "enter:Alternative:(?<=\\w{3})", "enter:Assertion:(?<=\\w{3})", "enter:Alternative:\\w{3}", "enter:Quantifier:\\w{3}", "enter:CharacterSet:\\w", "leave:CharacterSet:\\w", "leave:Quantifier:\\w{3}", "leave:Alternative:\\w{3}", "leave:Assertion:(?<=\\w{3})", "leave:Alternative:(?<=\\w{3})", "leave:CapturingGroup:(?(?<=\\w{3}))", "enter:Character:f", "leave:Character:f", "leave:Alternative:(?(?<=\\w{3}))f", "leave:Pattern:(?(?<=\\w{3}))f", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?(?<=\\w{3}))f/" ], "/(?\\d){3})f/": [ "enter:RegExpLiteral:/(?\\d){3})f/", "enter:Pattern:(?\\d){3})f", "enter:Alternative:(?\\d){3})f", "enter:Assertion:(?\\d){3})", "enter:Alternative:(?\\d){3}", "enter:Quantifier:(?\\d){3}", "enter:CapturingGroup:(?\\d)", "enter:Alternative:\\d", "enter:CharacterSet:\\d", "leave:CharacterSet:\\d", "leave:Alternative:\\d", "leave:CapturingGroup:(?\\d)", "leave:Quantifier:(?\\d){3}", "leave:Alternative:(?\\d){3}", "leave:Assertion:(?\\d){3})", "enter:Character:f", "leave:Character:f", "leave:Alternative:(?\\d){3})f", "leave:Pattern:(?\\d){3})f", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?\\d){3})f/" ], "/(?(?(?(?(?(?(?(?(?(?.)|(?.))/u": [ "enter:RegExpLiteral:/(?<=(?.)|(?.))/u", "enter:Pattern:(?<=(?.)|(?.))", "enter:Alternative:(?<=(?.)|(?.))", "enter:Assertion:(?<=(?.)|(?.))", "enter:Alternative:(?.)", "enter:CapturingGroup:(?.)", "enter:Alternative:.", "enter:CharacterSet:.", "leave:CharacterSet:.", "leave:Alternative:.", "leave:CapturingGroup:(?.)", "leave:Alternative:(?.)", "enter:Alternative:(?.)", "enter:CapturingGroup:(?.)", "enter:Alternative:.", "enter:CharacterSet:.", "leave:CharacterSet:.", "leave:Alternative:.", "leave:CapturingGroup:(?.)", "leave:Alternative:(?.)", "leave:Assertion:(?<=(?.)|(?.))", "leave:Alternative:(?<=(?.)|(?.))", "leave:Pattern:(?<=(?.)|(?.))", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?<=(?.)|(?.))/u" ], "/(a)/": [ "enter:RegExpLiteral:/(a)/", "enter:Pattern:(a)", "enter:Alternative:(a)", "enter:CapturingGroup:(a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(a)", "leave:Alternative:(a)", "leave:Pattern:(a)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(a)/" ], "/(?)/": [ "enter:RegExpLiteral:/(?)/", "enter:Pattern:(?)", "enter:Alternative:(?)", "enter:CapturingGroup:(?)", "enter:Alternative:", "leave:Alternative:", "leave:CapturingGroup:(?)", "leave:Alternative:(?)", "leave:Pattern:(?)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?)/" ], "/\\k/": [ "enter:RegExpLiteral:/\\k/", "enter:Pattern:\\k", "enter:Alternative:\\k", "enter:Character:\\k", "leave:Character:\\k", "leave:Alternative:\\k", "leave:Pattern:\\k", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\k/" ], "/\\k/": [ "enter:RegExpLiteral:/\\k/", "enter:Pattern:\\k", "enter:Alternative:\\k", "enter:Character:\\k", "leave:Character:\\k", "enter:Character:<", "leave:Character:<", "enter:Character:a", "leave:Character:a", "enter:Character:>", "leave:Character:>", "leave:Alternative:\\k", "leave:Pattern:\\k", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\k/" ], "/(?a)\\k/": [ "enter:RegExpLiteral:/(?a)\\k/", "enter:Pattern:(?a)\\k", "enter:Alternative:(?a)\\k", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "enter:Backreference:\\k", "leave:Backreference:\\k", "leave:Alternative:(?a)\\k", "leave:Pattern:(?a)\\k", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?a)\\k/" ], "/(?a)\\k/u": [ "enter:RegExpLiteral:/(?a)\\k/u", "enter:Pattern:(?a)\\k", "enter:Alternative:(?a)\\k", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "enter:Backreference:\\k", "leave:Backreference:\\k", "leave:Alternative:(?a)\\k", "leave:Pattern:(?a)\\k", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?a)\\k/u" ], "/(?a)\\1/": [ "enter:RegExpLiteral:/(?a)\\1/", "enter:Pattern:(?a)\\1", "enter:Alternative:(?a)\\1", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "enter:Backreference:\\1", "leave:Backreference:\\1", "leave:Alternative:(?a)\\1", "leave:Pattern:(?a)\\1", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?a)\\1/" ], "/(?a)\\1/u": [ "enter:RegExpLiteral:/(?a)\\1/u", "enter:Pattern:(?a)\\1", "enter:Alternative:(?a)\\1", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "enter:Backreference:\\1", "leave:Backreference:\\1", "leave:Alternative:(?a)\\1", "leave:Pattern:(?a)\\1", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?a)\\1/u" ], "/(?a)\\2/": [ "enter:RegExpLiteral:/(?a)\\2/", "enter:Pattern:(?a)\\2", "enter:Alternative:(?a)\\2", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "enter:Character:\\2", "leave:Character:\\2", "leave:Alternative:(?a)\\2", "leave:Pattern:(?a)\\2", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?a)\\2/" ], "/(?a)(?a)/": [ "enter:RegExpLiteral:/(?a)(?a)/", "enter:Pattern:(?a)(?a)", "enter:Alternative:(?a)(?a)", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "leave:Alternative:(?a)(?a)", "leave:Pattern:(?a)(?a)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/(?a)(?a)/" ], "/(?a)(?a)/u": [ "enter:RegExpLiteral:/(?a)(?a)/u", "enter:Pattern:(?a)(?a)", "enter:Alternative:(?a)(?a)", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "leave:Alternative:(?a)(?a)", "leave:Pattern:(?a)(?a)", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?a)(?a)/u" ], "/\\k(?a)/": [ "enter:RegExpLiteral:/\\k(?a)/", "enter:Pattern:\\k(?a)", "enter:Alternative:\\k(?a)", "enter:Backreference:\\k", "leave:Backreference:\\k", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "leave:Alternative:\\k(?a)", "leave:Pattern:\\k(?a)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\k(?a)/" ], "/\\k(?a)/u": [ "enter:RegExpLiteral:/\\k(?a)/u", "enter:Pattern:\\k(?a)", "enter:Alternative:\\k(?a)", "enter:Backreference:\\k", "leave:Backreference:\\k", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "leave:Alternative:\\k(?a)", "leave:Pattern:\\k(?a)", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\k(?a)/u" ], "/\\1(?a)/": [ "enter:RegExpLiteral:/\\1(?a)/", "enter:Pattern:\\1(?a)", "enter:Alternative:\\1(?a)", "enter:Backreference:\\1", "leave:Backreference:\\1", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "leave:Alternative:\\1(?a)", "leave:Pattern:\\1(?a)", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\1(?a)/" ], "/\\1(?a)/u": [ "enter:RegExpLiteral:/\\1(?a)/u", "enter:Pattern:\\1(?a)", "enter:Alternative:\\1(?a)", "enter:Backreference:\\1", "leave:Backreference:\\1", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "leave:Alternative:\\1(?a)", "leave:Pattern:\\1(?a)", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\1(?a)/u" ], "/(?<$abc>a)\\k<$abc>/u": [ "enter:RegExpLiteral:/(?<$abc>a)\\k<$abc>/u", "enter:Pattern:(?<$abc>a)\\k<$abc>", "enter:Alternative:(?<$abc>a)\\k<$abc>", "enter:CapturingGroup:(?<$abc>a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?<$abc>a)", "enter:Backreference:\\k<$abc>", "leave:Backreference:\\k<$abc>", "leave:Alternative:(?<$abc>a)\\k<$abc>", "leave:Pattern:(?<$abc>a)\\k<$abc>", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?<$abc>a)\\k<$abc>/u" ], "/(?<あ>a)\\k<あ>/u": [ "enter:RegExpLiteral:/(?<あ>a)\\k<あ>/u", "enter:Pattern:(?<あ>a)\\k<あ>", "enter:Alternative:(?<あ>a)\\k<あ>", "enter:CapturingGroup:(?<あ>a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?<あ>a)", "enter:Backreference:\\k<あ>", "leave:Backreference:\\k<あ>", "leave:Alternative:(?<あ>a)\\k<あ>", "leave:Pattern:(?<あ>a)\\k<あ>", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?<あ>a)\\k<あ>/u" ], "/(?<𠮷>a)\\k<\\u{20bb7}>/u": [ "enter:RegExpLiteral:/(?<𠮷>a)\\k<\\u{20bb7}>/u", "enter:Pattern:(?<𠮷>a)\\k<\\u{20bb7}>", "enter:Alternative:(?<𠮷>a)\\k<\\u{20bb7}>", "enter:CapturingGroup:(?<𠮷>a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?<𠮷>a)", "enter:Backreference:\\k<\\u{20bb7}>", "leave:Backreference:\\k<\\u{20bb7}>", "leave:Alternative:(?<𠮷>a)\\k<\\u{20bb7}>", "leave:Pattern:(?<𠮷>a)\\k<\\u{20bb7}>", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?<𠮷>a)\\k<\\u{20bb7}>/u" ], "/(?<\\uD842\\uDFB7>a)\\k<\\u{20bb7}>/u": [ "enter:RegExpLiteral:/(?<\\uD842\\uDFB7>a)\\k<\\u{20bb7}>/u", "enter:Pattern:(?<\\uD842\\uDFB7>a)\\k<\\u{20bb7}>", "enter:Alternative:(?<\\uD842\\uDFB7>a)\\k<\\u{20bb7}>", "enter:CapturingGroup:(?<\\uD842\\uDFB7>a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?<\\uD842\\uDFB7>a)", "enter:Backreference:\\k<\\u{20bb7}>", "leave:Backreference:\\k<\\u{20bb7}>", "leave:Alternative:(?<\\uD842\\uDFB7>a)\\k<\\u{20bb7}>", "leave:Pattern:(?<\\uD842\\uDFB7>a)\\k<\\u{20bb7}>", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?<\\uD842\\uDFB7>a)\\k<\\u{20bb7}>/u" ], "/(?<\\u{20bb7}>a)\\k<\\uD842\\uDFB7>/u": [ "enter:RegExpLiteral:/(?<\\u{20bb7}>a)\\k<\\uD842\\uDFB7>/u", "enter:Pattern:(?<\\u{20bb7}>a)\\k<\\uD842\\uDFB7>", "enter:Alternative:(?<\\u{20bb7}>a)\\k<\\uD842\\uDFB7>", "enter:CapturingGroup:(?<\\u{20bb7}>a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?<\\u{20bb7}>a)", "enter:Backreference:\\k<\\uD842\\uDFB7>", "leave:Backreference:\\k<\\uD842\\uDFB7>", "leave:Alternative:(?<\\u{20bb7}>a)\\k<\\uD842\\uDFB7>", "leave:Pattern:(?<\\u{20bb7}>a)\\k<\\uD842\\uDFB7>", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?<\\u{20bb7}>a)\\k<\\uD842\\uDFB7>/u" ], "/(?a)\\k<\\u0061\\u0062\\u0063>/u": [ "enter:RegExpLiteral:/(?a)\\k<\\u0061\\u0062\\u0063>/u", "enter:Pattern:(?a)\\k<\\u0061\\u0062\\u0063>", "enter:Alternative:(?a)\\k<\\u0061\\u0062\\u0063>", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "enter:Backreference:\\k<\\u0061\\u0062\\u0063>", "leave:Backreference:\\k<\\u0061\\u0062\\u0063>", "leave:Alternative:(?a)\\k<\\u0061\\u0062\\u0063>", "leave:Pattern:(?a)\\k<\\u0061\\u0062\\u0063>", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?a)\\k<\\u0061\\u0062\\u0063>/u" ], "/(?<\\u0061\\u0062\\u0063>a)\\k/u": [ "enter:RegExpLiteral:/(?<\\u0061\\u0062\\u0063>a)\\k/u", "enter:Pattern:(?<\\u0061\\u0062\\u0063>a)\\k", "enter:Alternative:(?<\\u0061\\u0062\\u0063>a)\\k", "enter:CapturingGroup:(?<\\u0061\\u0062\\u0063>a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?<\\u0061\\u0062\\u0063>a)", "enter:Backreference:\\k", "leave:Backreference:\\k", "leave:Alternative:(?<\\u0061\\u0062\\u0063>a)\\k", "leave:Pattern:(?<\\u0061\\u0062\\u0063>a)\\k", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?<\\u0061\\u0062\\u0063>a)\\k/u" ], "/(?<\\u0061\\u0062\\u0063>a)\\k<\\u{61}\\u{62}\\u{63}>/u": [ "enter:RegExpLiteral:/(?<\\u0061\\u0062\\u0063>a)\\k<\\u{61}\\u{62}\\u{63}>/u", "enter:Pattern:(?<\\u0061\\u0062\\u0063>a)\\k<\\u{61}\\u{62}\\u{63}>", "enter:Alternative:(?<\\u0061\\u0062\\u0063>a)\\k<\\u{61}\\u{62}\\u{63}>", "enter:CapturingGroup:(?<\\u0061\\u0062\\u0063>a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?<\\u0061\\u0062\\u0063>a)", "enter:Backreference:\\k<\\u{61}\\u{62}\\u{63}>", "leave:Backreference:\\k<\\u{61}\\u{62}\\u{63}>", "leave:Alternative:(?<\\u0061\\u0062\\u0063>a)\\k<\\u{61}\\u{62}\\u{63}>", "leave:Pattern:(?<\\u0061\\u0062\\u0063>a)\\k<\\u{61}\\u{62}\\u{63}>", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?<\\u0061\\u0062\\u0063>a)\\k<\\u{61}\\u{62}\\u{63}>/u" ], "/(?a)\\k/u": [ "enter:RegExpLiteral:/(?a)\\k/u", "enter:Pattern:(?a)\\k", "enter:Alternative:(?a)\\k", "enter:CapturingGroup:(?a)", "enter:Alternative:a", "enter:Character:a", "leave:Character:a", "leave:Alternative:a", "leave:CapturingGroup:(?a)", "enter:Backreference:\\k", "leave:Backreference:\\k", "leave:Alternative:(?a)\\k", "leave:Pattern:(?a)\\k", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/(?a)\\k/u" ], "/\\p/": [ "enter:RegExpLiteral:/\\p/", "enter:Pattern:\\p", "enter:Alternative:\\p", "enter:Character:\\p", "leave:Character:\\p", "leave:Alternative:\\p", "leave:Pattern:\\p", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\p/" ], "/\\p{/": [ "enter:RegExpLiteral:/\\p{/", "enter:Pattern:\\p{", "enter:Alternative:\\p{", "enter:Character:\\p", "leave:Character:\\p", "enter:Character:{", "leave:Character:{", "leave:Alternative:\\p{", "leave:Pattern:\\p{", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\p{/" ], "/\\p{ASCII/": [ "enter:RegExpLiteral:/\\p{ASCII/", "enter:Pattern:\\p{ASCII", "enter:Alternative:\\p{ASCII", "enter:Character:\\p", "leave:Character:\\p", "enter:Character:{", "leave:Character:{", "enter:Character:A", "leave:Character:A", "enter:Character:S", "leave:Character:S", "enter:Character:C", "leave:Character:C", "enter:Character:I", "leave:Character:I", "enter:Character:I", "leave:Character:I", "leave:Alternative:\\p{ASCII", "leave:Pattern:\\p{ASCII", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\p{ASCII/" ], "/\\p{ASCII}/": [ "enter:RegExpLiteral:/\\p{ASCII}/", "enter:Pattern:\\p{ASCII}", "enter:Alternative:\\p{ASCII}", "enter:Character:\\p", "leave:Character:\\p", "enter:Character:{", "leave:Character:{", "enter:Character:A", "leave:Character:A", "enter:Character:S", "leave:Character:S", "enter:Character:C", "leave:Character:C", "enter:Character:I", "leave:Character:I", "enter:Character:I", "leave:Character:I", "enter:Character:}", "leave:Character:}", "leave:Alternative:\\p{ASCII}", "leave:Pattern:\\p{ASCII}", "enter:Flags:", "leave:Flags:", "leave:RegExpLiteral:/\\p{ASCII}/" ], "/\\p{ASCII}/u": [ "enter:RegExpLiteral:/\\p{ASCII}/u", "enter:Pattern:\\p{ASCII}", "enter:Alternative:\\p{ASCII}", "enter:CharacterSet:\\p{ASCII}", "leave:CharacterSet:\\p{ASCII}", "leave:Alternative:\\p{ASCII}", "leave:Pattern:\\p{ASCII}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\p{ASCII}/u" ], "/\\p{Emoji}/u": [ "enter:RegExpLiteral:/\\p{Emoji}/u", "enter:Pattern:\\p{Emoji}", "enter:Alternative:\\p{Emoji}", "enter:CharacterSet:\\p{Emoji}", "leave:CharacterSet:\\p{Emoji}", "leave:Alternative:\\p{Emoji}", "leave:Pattern:\\p{Emoji}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\p{Emoji}/u" ], "/\\p{General_Category=Letter}/u": [ "enter:RegExpLiteral:/\\p{General_Category=Letter}/u", "enter:Pattern:\\p{General_Category=Letter}", "enter:Alternative:\\p{General_Category=Letter}", "enter:CharacterSet:\\p{General_Category=Letter}", "leave:CharacterSet:\\p{General_Category=Letter}", "leave:Alternative:\\p{General_Category=Letter}", "leave:Pattern:\\p{General_Category=Letter}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\p{General_Category=Letter}/u" ], "/\\p{Script=Hiragana}/u": [ "enter:RegExpLiteral:/\\p{Script=Hiragana}/u", "enter:Pattern:\\p{Script=Hiragana}", "enter:Alternative:\\p{Script=Hiragana}", "enter:CharacterSet:\\p{Script=Hiragana}", "leave:CharacterSet:\\p{Script=Hiragana}", "leave:Alternative:\\p{Script=Hiragana}", "leave:Pattern:\\p{Script=Hiragana}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\p{Script=Hiragana}/u" ], "/[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]/u": [ "enter:RegExpLiteral:/[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]/u", "enter:Pattern:[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]", "enter:Alternative:[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]", "enter:CharacterClass:[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]", "enter:CharacterSet:\\p{Script=Hiragana}", "leave:CharacterSet:\\p{Script=Hiragana}", "enter:Character:\\-", "leave:Character:\\-", "enter:CharacterSet:\\p{Script=Katakana}", "leave:CharacterSet:\\p{Script=Katakana}", "leave:CharacterClass:[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]", "leave:Alternative:[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]", "leave:Pattern:[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/[\\p{Script=Hiragana}\\-\\p{Script=Katakana}]/u" ], "/\\P{Letter}/u": [ "enter:RegExpLiteral:/\\P{Letter}/u", "enter:Pattern:\\P{Letter}", "enter:Alternative:\\P{Letter}", "enter:CharacterSet:\\P{Letter}", "leave:CharacterSet:\\P{Letter}", "leave:Alternative:\\P{Letter}", "leave:Pattern:\\P{Letter}", "enter:Flags:u", "leave:Flags:u", "leave:RegExpLiteral:/\\P{Letter}/u" ] } }regexpp-3.2.0/test/fixtures/visitor/index.ts000066400000000000000000000023071406163405500212020ustar00rootroot00000000000000import fs from "fs" import path from "path" type FixtureData = { [filename: string]: { options: { strict?: boolean ecmaVersion?: | 5 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 } patterns: { [source: string]: string[] } } } const fixturesRoot = __dirname export const Fixtures: FixtureData = fs .readdirSync(fixturesRoot) .filter(filename => path.extname(filename) === ".json") .reduce((fixtures, filename) => { fixtures[filename] = JSON.parse( fs.readFileSync(path.join(fixturesRoot, filename), "utf8"), (_, v) => (v === "$$Infinity" ? Infinity : v), ) return fixtures }, {}) export function save(): void { for (const filename of Object.keys(Fixtures)) { fs.writeFileSync( path.join(fixturesRoot, filename), JSON.stringify( Fixtures[filename], (_, v) => (v === Infinity ? "$$Infinity" : v), 2, ), ) } } regexpp-3.2.0/test/parser.ts000066400000000000000000000063541406163405500160250ustar00rootroot00000000000000import assert from "assert" import { parseRegExpLiteral, RegExpParser } from "../src/index" import { cloneWithoutCircular } from "../scripts/clone-without-circular" import { Fixtures } from "./fixtures/parser/literal" function generateAST(source: string, options: RegExpParser.Options): object { return cloneWithoutCircular(parseRegExpLiteral(source, options)) } describe("parseRegExpLiteral function:", () => { for (const filename of Object.keys(Fixtures)) { const fixture = Fixtures[filename] const options = fixture.options describe(`${filename} (options=${JSON.stringify(options)})`, () => { if (filename.includes("-valid")) { it("should not contain any invalid test case", () => { for (const source of Object.keys(fixture.patterns)) { const result = fixture.patterns[source] assert("ast" in result, `${source} is invalid`) } }) } else if (filename.includes("-invalid")) { it("should not contain any valid test case", () => { for (const source of Object.keys(fixture.patterns)) { const result = fixture.patterns[source] assert("error" in result, `${source} is valid`) } }) } for (const source of Object.keys(fixture.patterns)) { const result = fixture.patterns[source] if ("ast" in result) { it(`${source} should succeed to parse.`, () => { const expected = result.ast const actual = generateAST(source, options) assert.deepStrictEqual(actual, expected) }) } else { it(`${source} should throw syntax error.`, () => { const expected = result.error assert.strictEqual( expected.message.slice(0, 27), "Invalid regular expression:", `The error message '${expected.message}' was not syntax error.`, ) try { parseRegExpLiteral(source, options) } catch (err) { assert.strictEqual(err.message, expected.message) assert.strictEqual(err.index, expected.index) return } assert.fail("Should fail, but succeeded.") }) } } }) } it("should parse RegExp object", () => { const actual = cloneWithoutCircular(parseRegExpLiteral(/[A-Z]+/u)) const expected = cloneWithoutCircular(parseRegExpLiteral("/[A-Z]+/u")) assert.deepStrictEqual(actual, expected) }) }) describe("RegExpParser:", () => { describe("parsePattern function", () => { it("should throw syntax error on '\\'.", () => { assert.throws( () => new RegExpParser().parsePattern("\\"), /\\ at end of pattern/u, ) }) }) }) regexpp-3.2.0/test/visitor.ts000066400000000000000000000053261406163405500162260ustar00rootroot00000000000000import assert from "assert" import { AST, RegExpParser, parseRegExpLiteral, visitRegExpAST, } from "../src/index" import { cloneWithoutCircular } from "../scripts/clone-without-circular" import { Fixtures } from "./fixtures/visitor" function generateAST(source: string, options: RegExpParser.Options): any { return cloneWithoutCircular(parseRegExpLiteral(source, options)) } describe("visitRegExpAST function:", () => { for (const filename of Object.keys(Fixtures)) { const fixture = Fixtures[filename] const options = fixture.options describe(`${filename} (options=${JSON.stringify(options)})`, () => { for (const source of Object.keys(fixture.patterns)) { it(`${source} should succeed to visit.`, () => { const expected = fixture.patterns[source] const ast = generateAST(source, options) const history = [] as string[] const enter = (node: AST.Node): void => { history.push(`enter:${node.type}:${node.raw}`) } const leave = (node: AST.Node): void => { history.push(`leave:${node.type}:${node.raw}`) } visitRegExpAST(ast, { onAlternativeEnter: enter, onAssertionEnter: enter, onBackreferenceEnter: enter, onCapturingGroupEnter: enter, onCharacterEnter: enter, onCharacterClassEnter: enter, onCharacterClassRangeEnter: enter, onCharacterSetEnter: enter, onFlagsEnter: enter, onGroupEnter: enter, onPatternEnter: enter, onQuantifierEnter: enter, onRegExpLiteralEnter: enter, onAlternativeLeave: leave, onAssertionLeave: leave, onBackreferenceLeave: leave, onCapturingGroupLeave: leave, onCharacterLeave: leave, onCharacterClassLeave: leave, onCharacterClassRangeLeave: leave, onCharacterSetLeave: leave, onFlagsLeave: leave, onGroupLeave: leave, onPatternLeave: leave, onQuantifierLeave: leave, onRegExpLiteralLeave: leave, }) assert.deepStrictEqual(history, expected) }) } }) } }) regexpp-3.2.0/tsconfig.json000066400000000000000000000021651406163405500157050ustar00rootroot00000000000000{ "compileOnSave": true, "compilerOptions": { "allowJs": false, "allowSyntheticDefaultImports": true, "allowUnreachableCode": false, "allowUnusedLabels": false, "alwaysStrict": true, "baseUrl": ".", "checkJs": false, "declaration": true, "diagnostics": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "lib": [ "es2015" ], "module": "commonjs", "moduleResolution": "node", "newLine": "LF", "noEmitOnError": true, "noFallthroughCasesInSwitch": true, "noImplicitAny": true, "noImplicitReturns": true, "noImplicitThis": true, "noUnusedLocals": true, "noUnusedParameters": false, "outDir": ".temp", "pretty": true, "removeComments": true, "sourceMap": true, "sourceRoot": "src", "strictFunctionTypes": true, "strictNullChecks": true, "strictPropertyInitialization": true, "target": "es2015" }, "include": [ "src/**/*.ts" ] }