Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/r/ruby-regexp-parser/ruby-regexp-parser_2.1.1-2_all.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/ruby-regexp-parser-2.1.1-2t93b38gv/ruby-regexp-parser_2.1.1-2_all.buildinfo Get source package info: ruby-regexp-parser=2.1.1-2 Source URL: http://snapshot.notset.fr/mr/package/ruby-regexp-parser/2.1.1-2/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=adduser=3.118 autoconf=2.71-2 automake=1:1.16.5-1.1 autopoint=0.21-4 autotools-dev=20180224.1+nmu1 base-files=12 base-passwd=3.5.52 bash=5.1-5 binutils=2.37-10 binutils-common=2.37-10 binutils-x86-64-linux-gnu=2.37-10 bsdextrautils=2.37.2-4 bsdutils=1:2.37.2-4 build-essential=12.9 bzip2=1.0.8-5 ca-certificates=20211016 coreutils=8.32-4.1 cpp=4:11.2.0-2 cpp-11=11.2.0-12 dash=0.5.11+git20210903+057cd650a4ed-3 debconf=1.5.79 debhelper=13.5.2 debianutils=5.5-1 devscripts=2.21.6 dh-autoreconf=20 dh-strip-nondeterminism=1.12.1-1 diffutils=1:3.7-5 dirmngr=2.2.27-2 dpkg=1.21.1 dpkg-dev=1.21.1 dwz=0.14-1 fakeroot=1.26-1 file=1:5.41-2 findutils=4.8.0-1 g++=4:11.2.0-2 g++-11=11.2.0-12 gcc=4:11.2.0-2 gcc-11=11.2.0-12 gcc-11-base=11.2.0-12 gem2deb=1.8 gem2deb-test-runner=1.8 gettext=0.21-4 gettext-base=0.21-4 gnupg=2.2.27-2 gnupg-l10n=2.2.27-2 gnupg-utils=2.2.27-2 gpg=2.2.27-2 gpg-agent=2.2.27-2 gpg-wks-client=2.2.27-2 gpg-wks-server=2.2.27-2 gpgconf=2.2.27-2 gpgsm=2.2.27-2 gpgv=2.2.27-2 grep=3.7-1 groff-base=1.22.4-7 gzip=1.10-4 hostname=3.23 init-system-helpers=1.61 intltool-debian=0.35.0+20060710.5 libacl1=2.3.1-1 libarchive-zip-perl=1.68-1 libasan6=11.2.0-12 libassuan0=2.5.5-1 libatomic1=11.2.0-12 libattr1=1:2.5.1-1 libaudit-common=1:3.0.6-1 libaudit1=1:3.0.6-1+b1 libb-hooks-op-check-perl=0.22-1+b3 libbinutils=2.37-10 libblkid1=2.37.2-4 libbsd0=0.11.3-1 libbz2-1.0=1.0.8-5 libc-bin=2.32-5 libc-dev-bin=2.32-5 libc6=2.32-5 libc6-dev=2.32-5 libcap-ng0=0.7.9-2.2+b1 libcap2=1:2.44-1 libcc1-0=11.2.0-12 libclass-method-modifiers-perl=2.13-1 libclass-xsaccessor-perl=1.19-3+b7 libcom-err2=1.46.4-1 libcrypt-dev=1:4.4.26-1 libcrypt1=1:4.4.26-1 libctf-nobfd0=2.37-10 libctf0=2.37-10 libdb5.3=5.3.28+dfsg1-0.8 libdebconfclient0=0.261 libdebhelper-perl=13.5.2 libdevel-callchecker-perl=0.008-1+b2 libdpkg-perl=1.21.1 libdynaloader-functions-perl=0.003-1.1 libedit2=3.1-20210910-1 libelf1=0.186-1 libencode-locale-perl=1.05-1.1 libexpat1=2.4.1-3 libfakeroot=1.26-1 libffi8=3.4.2-3 libfile-dirlist-perl=0.05-2 libfile-homedir-perl=1.006-1 libfile-listing-perl=6.14-1 libfile-stripnondeterminism-perl=1.12.1-1 libfile-touch-perl=0.12-1 libfile-which-perl=1.23-1 libgcc-11-dev=11.2.0-12 libgcc-s1=11.2.0-12 libgcrypt20=1.9.4-4 libgdbm-compat4=1.22-1 libgdbm6=1.22-1 libgmp-dev=2:6.2.1+dfsg-3 libgmp10=2:6.2.1+dfsg-3 libgmpxx4ldbl=2:6.2.1+dfsg-3 libgnutls30=3.7.2-2 libgomp1=11.2.0-12 libgpg-error0=1.42-3 libgssapi-krb5-2=1.18.3-7 libhogweed6=3.7.3-1 libhtml-parser-perl=3.76-1 libhtml-tagset-perl=3.20-4 libhtml-tree-perl=5.07-2 libhttp-cookies-perl=6.10-1 libhttp-date-perl=6.05-1 libhttp-message-perl=6.35-1 libhttp-negotiate-perl=6.01-1 libicu67=67.1-7 libidn2-0=2.3.2-2 libimport-into-perl=1.002005-1 libio-html-perl=1.004-2 libio-pty-perl=1:1.15-2 libio-socket-ssl-perl=2.072-1 libipc-run-perl=20200505.0-1 libisl23=0.24-2 libitm1=11.2.0-12 libk5crypto3=1.18.3-7 libkeyutils1=1.6.1-2 libkrb5-3=1.18.3-7 libkrb5support0=1.18.3-7 libksba8=1.6.0-2 libldap-2.4-2=2.4.59+dfsg-1 liblsan0=11.2.0-12 liblwp-mediatypes-perl=6.04-1 liblwp-protocol-https-perl=6.10-1 liblz4-1=1.9.3-2 liblzma5=5.2.5-2 libmagic-mgc=1:5.41-2 libmagic1=1:5.41-2 libmd0=1.0.4-1 libmodule-runtime-perl=0.016-1 libmoo-perl=2.005004-3 libmount1=2.37.2-4 libmpc3=1.2.1-1 libmpdec3=2.5.1-2 libmpfr6=4.1.0-3 libncursesw6=6.3-1 libnet-http-perl=6.21-1 libnet-ssleay-perl=1.90-1 libnettle8=3.7.3-1 libnpth0=1.6-3 libnsl-dev=1.3.0-2 libnsl2=1.3.0-2 libp11-kit0=0.24.0-6 libpam-modules=1.4.0-11 libpam-modules-bin=1.4.0-11 libpam-runtime=1.4.0-11 libpam0g=1.4.0-11 libparams-classify-perl=0.015-1+b3 libpcre2-8-0=10.39-3 libpcre3=2:8.39-13 libperl5.32=5.32.1-6 libpipeline1=1.5.4-1 libpython3-stdlib=3.9.8-1 libpython3.9-minimal=3.9.9-1 libpython3.9-stdlib=3.9.9-1 libquadmath0=11.2.0-12 libreadline8=8.1-2 librole-tiny-perl=2.002004-1 libruby2.7=2.7.4-1+b1 libruby3.0=3.0.2-5 libsasl2-2=2.1.27+dfsg2-2 libsasl2-modules-db=2.1.27+dfsg2-2 libseccomp2=2.5.3-2 libselinux1=3.3-1+b1 libsemanage-common=3.3-1 libsemanage2=3.3-1+b1 libsepol2=3.3-1 libsigsegv2=2.13-1 libsmartcols1=2.37.2-4 libsqlite3-0=3.36.0-2 libssl1.1=1.1.1l-1 libstdc++-11-dev=11.2.0-12 libstdc++6=11.2.0-12 libsub-override-perl=0.09-2 libsub-quote-perl=2.006006-1 libsystemd0=249.7-1 libtasn1-6=4.18.0-4 libtimedate-perl=2.3300-2 libtinfo6=6.3-1 libtirpc-common=1.3.2-2 libtirpc-dev=1.3.2-2 libtirpc3=1.3.2-2 libtool=2.4.6-15 libtry-tiny-perl=0.31-1 libtsan0=11.2.0-12 libubsan1=11.2.0-12 libuchardet0=0.0.7-1 libudev1=249.7-1 libunistring2=0.9.10-6 liburi-perl=5.10-1 libuuid1=2.37.2-4 libwww-perl=6.59-1 libwww-robotrules-perl=6.02-1 libxml2=2.9.12+dfsg-5+b1 libyaml-0-2=0.2.2-1 libzstd1=1.4.8+dfsg-3 linux-libc-dev=5.15.5-1 login=1:4.8.1-2 lsb-base=11.1.0 m4=1.4.18-5 make=4.3-4.1 man-db=2.9.4-2 mawk=1.3.4.20200120-2 media-types=4.0.0 ncurses-base=6.3-1 ncurses-bin=6.3-1 netbase=6.3 openssl=1.1.1l-1 passwd=1:4.8.1-2 patch=2.7.6-7 patchutils=0.4.2-1 perl=5.32.1-6 perl-base=5.32.1-6 perl-modules-5.32=5.32.1-6 perl-openssl-defaults=5 pinentry-curses=1.1.0-4 po-debconf=1.0.21+nmu1 python3=3.9.8-1 python3-minimal=3.9.8-1 python3.9=3.9.9-1 python3.9-minimal=3.9.9-1 rake=13.0.3-1 readline-common=8.1-2 rpcsvc-proto=1.4.2-4 ruby=1:2.7.6 ruby-all-dev=1:2.7.6 ruby-diff-lcs=1.4.4-1 ruby-ice-nine=0.11.2-1 ruby-minitest=5.13.0-1 ruby-net-telnet=0.1.1-2 ruby-power-assert=1.1.7-2 ruby-regexp-property-values=0.3.4-2+b2 ruby-rspec=3.10.0c1e1m2s3-1 ruby-rspec-core=3.10.0c1e1m2s3-1 ruby-rspec-expectations=3.10.0c1e1m2s3-1 ruby-rspec-mocks=3.10.0c1e1m2s3-1 ruby-rspec-support=3.10.0c1e1m2s3-1 ruby-rubygems=3.2.27-3 ruby-test-unit=3.3.9-1 ruby-xmlrpc=0.3.2-1 ruby2.7=2.7.4-1+b1 ruby2.7-dev=2.7.4-1+b1 ruby3.0=3.0.2-5 ruby3.0-dev=3.0.2-5 rubygems-integration=1.18 sed=4.8-1 sensible-utils=0.0.17 sysvinit-utils=3.00-1 tar=1.34+dfsg-1 tzdata=2021e-1 util-linux=2.37.2-4 wdiff=1.2.2-2+b1 xz-utils=5.2.5-2 zlib1g=1:1.2.11.dfsg-2 --variant=apt --aptopt=Acquire::Check-Valid-Until "false" --aptopt=Acquire::http::Dl-Limit "1000"; --aptopt=Acquire::https::Dl-Limit "1000"; --aptopt=Acquire::Retries "5"; --aptopt=APT::Get::allow-downgrades "true"; --keyring=/usr/share/keyrings/ --essential-hook=chroot "$1" sh -c "apt-get --yes install fakeroot util-linux" --essential-hook=copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ --essential-hook=chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20211209T150529Z/ unstable main deb-src http://snapshot.notset.fr/archive/debian/20211209T150529Z/ unstable main deb http://snapshot.notset.fr/archive/debian/20211209T093106Z/ unstable main' >> /etc/apt/sources.list && apt-get update" --customize-hook=chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash --customize-hook=chroot "$1" env sh -c "apt-get source --only-source -d ruby-regexp-parser=2.1.1-2 && mkdir -p /build/ruby-regexp-parser-1TPn7q && dpkg-source --no-check -x /*.dsc /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1 && chown -R builduser:builduser /build/ruby-regexp-parser-1TPn7q" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1 && env DEB_BUILD_OPTIONS="parallel=4" LANG="C.UTF-8" LC_ALL="C.UTF-8" LC_COLLATE="C.UTF-8" SOURCE_DATE_EPOCH="1638981046" dpkg-buildpackage -uc -a amd64 --build=all" --customize-hook=sync-out /build/ruby-regexp-parser-1TPn7q /tmp/ruby-regexp-parser-2.1.1-2t93b38gv bookworm /dev/null deb http://snapshot.notset.fr/archive/debian/20211209T093106Z unstable main I: automatically chosen mode: root I: chroot architecture amd64 is equal to the host's architecture I: automatically chosen format: tar I: using /tmp/mmdebstrap.OL6p8G4N5o as tempdir I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "apt-get --yes install fakeroot util-linux"' exec /tmp/mmdebstrap.OL6p8G4N5o Reading package lists... Building dependency tree... util-linux is already the newest version (2.37.2-4). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 134 kB of archives. After this operation, 397 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20211209T093106Z unstable/main amd64 libfakeroot amd64 1.26-1 [47.3 kB] Get:2 http://snapshot.notset.fr/archive/debian/20211209T093106Z unstable/main amd64 fakeroot amd64 1.26-1 [87.1 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 134 kB in 0s (431 kB/s) Selecting previously unselected package libfakeroot:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 4679 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.26-1_amd64.deb ... Unpacking libfakeroot:amd64 (1.26-1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.26-1_amd64.deb ... Unpacking fakeroot (1.26-1) ... Setting up libfakeroot:amd64 (1.26-1) ... Setting up fakeroot (1.26-1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.32-5) ... I: running special hook: copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20211209T150529Z/ unstable main deb-src http://snapshot.notset.fr/archive/debian/20211209T150529Z/ unstable main deb http://snapshot.notset.fr/archive/debian/20211209T093106Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.OL6p8G4N5o Get:1 http://snapshot.notset.fr/archive/debian/20211209T150529Z unstable InRelease [165 kB] Hit:2 http://snapshot.notset.fr/archive/debian/20211209T093106Z unstable InRelease Ign:3 http://snapshot.notset.fr/archive/debian/20211209T150529Z unstable/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20211209T150529Z unstable/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20211209T150529Z unstable/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20211209T150529Z unstable/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20211209T150529Z unstable/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20211209T150529Z unstable/main amd64 Packages Get:3 http://snapshot.notset.fr/archive/debian/20211209T150529Z unstable/main Sources [12.5 MB] Get:4 http://snapshot.notset.fr/archive/debian/20211209T150529Z unstable/main amd64 Packages [12.0 MB] Fetched 24.7 MB in 1min 40s (247 kB/s) Reading package lists... I: installing remaining packages inside the chroot... I: running --customize-hook in shell: sh -c 'chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash' exec /tmp/mmdebstrap.OL6p8G4N5o I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d ruby-regexp-parser=2.1.1-2 && mkdir -p /build/ruby-regexp-parser-1TPn7q && dpkg-source --no-check -x /*.dsc /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1 && chown -R builduser:builduser /build/ruby-regexp-parser-1TPn7q"' exec /tmp/mmdebstrap.OL6p8G4N5o Reading package lists... NOTICE: 'ruby-regexp-parser' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/ruby-team/ruby-regexp-parser.git Please use: git clone https://salsa.debian.org/ruby-team/ruby-regexp-parser.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 104 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20211209T150529Z unstable/main ruby-regexp-parser 2.1.1-2 (dsc) [2151 B] Get:2 http://snapshot.notset.fr/archive/debian/20211209T150529Z unstable/main ruby-regexp-parser 2.1.1-2 (tar) [99.6 kB] Get:3 http://snapshot.notset.fr/archive/debian/20211209T150529Z unstable/main ruby-regexp-parser 2.1.1-2 (diff) [2676 B] Fetched 104 kB in 1s (171 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'ruby-regexp-parser_2.1.1-2.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting ruby-regexp-parser in /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1 dpkg-source: info: unpacking ruby-regexp-parser_2.1.1.orig.tar.gz dpkg-source: info: unpacking ruby-regexp-parser_2.1.1-2.debian.tar.xz I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1 && env DEB_BUILD_OPTIONS="parallel=4" LANG="C.UTF-8" LC_ALL="C.UTF-8" LC_COLLATE="C.UTF-8" SOURCE_DATE_EPOCH="1638981046" dpkg-buildpackage -uc -a amd64 --build=all"' exec /tmp/mmdebstrap.OL6p8G4N5o dpkg-buildpackage: info: source package ruby-regexp-parser dpkg-buildpackage: info: source version 2.1.1-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Pirate Praveen dpkg-source --before-build . debian/rules clean dh clean --buildsystem=ruby --with ruby dh_auto_clean -O--buildsystem=ruby dh_ruby --clean dh_ruby --clean dh_autoreconf_clean -O--buildsystem=ruby dh_clean -O--buildsystem=ruby debian/rules binary-indep dh binary-indep --buildsystem=ruby --with ruby dh_update_autotools_config -i -O--buildsystem=ruby dh_autoreconf -i -O--buildsystem=ruby dh_auto_configure -i -O--buildsystem=ruby dh_ruby --configure dh_auto_build -i -O--buildsystem=ruby dh_ruby --build dh_ruby --build dh_auto_test -i -O--buildsystem=ruby dh_ruby --test create-stamp debian/debhelper-build-stamp dh_testroot -i -O--buildsystem=ruby dh_prep -i -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-regexp-parser/ -i -O--buildsystem=ruby dh_ruby --install /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser dh_ruby --install /usr/bin/ruby2.7 -S gem build --config-file /dev/null --verbose /tmp/d20211213-2605315-1tfzu9j/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash Successfully built RubyGem Name: regexp_parser Version: 2.1.1 File: regexp_parser-2.1.1.gem /usr/bin/ruby2.7 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-regexp-parser/usr/share/rubygems-integration/all /tmp/d20211213-2605315-1tfzu9j/regexp_parser-2.1.1.gem Failed to load /dev/null because it doesn't contain valid YAML hash /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/error.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/alternation.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/anchor.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/backref.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/conditional.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/escape.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/free_space.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/group.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/keep.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/literal.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/posix_class.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/property.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/root.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/set.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/set/intersection.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/set/range.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/type.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/methods/match.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/methods/match_length.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/methods/options.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/methods/strfregexp.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/methods/tests.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/methods/traverse.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/quantifier.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/sequence.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/sequence_operation.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/subexpression.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/lexer.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/parser.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/scanner.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/scanner/char_type.rl /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/scanner/properties/long.yml /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/scanner/properties/short.yml /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/scanner/property.rl /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/scanner/scanner.rl /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/any.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/base.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/anchor.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/assertion.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/backref.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/character_set.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/character_type.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/conditional.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/escape.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/group.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/keep.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/meta.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/posix_class.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/quantifier.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/unicode_property.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/version_lookup.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/1.8.6.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/1.9.1.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/1.9.3.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.0.0.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.2.0.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.3.0.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.4.0.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.4.1.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.5.0.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.6.0.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.6.2.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.6.3.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/token.rb /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all/gems/regexp_parser-2.1.1/lib/regexp_parser/version.rb Successfully installed regexp_parser-2.1.1 1 gem installed cd debian/ruby-regexp-parser/usr/share/rubygems-integration/all rm -rf bin rm -rf build_info rm -rf cache rm -rf doc rm -rf extensions rmdir plugins cd gems/regexp_parser-2.1.1 rm -f chmod 644 lib/regexp_parser.rb lib/regexp_parser/error.rb lib/regexp_parser/expression.rb lib/regexp_parser/expression/classes/alternation.rb lib/regexp_parser/expression/classes/anchor.rb lib/regexp_parser/expression/classes/backref.rb lib/regexp_parser/expression/classes/conditional.rb lib/regexp_parser/expression/classes/escape.rb lib/regexp_parser/expression/classes/free_space.rb lib/regexp_parser/expression/classes/group.rb lib/regexp_parser/expression/classes/keep.rb lib/regexp_parser/expression/classes/literal.rb lib/regexp_parser/expression/classes/posix_class.rb lib/regexp_parser/expression/classes/property.rb lib/regexp_parser/expression/classes/root.rb lib/regexp_parser/expression/classes/set.rb lib/regexp_parser/expression/classes/set/intersection.rb lib/regexp_parser/expression/classes/set/range.rb lib/regexp_parser/expression/classes/type.rb lib/regexp_parser/expression/methods/match.rb lib/regexp_parser/expression/methods/match_length.rb lib/regexp_parser/expression/methods/options.rb lib/regexp_parser/expression/methods/strfregexp.rb lib/regexp_parser/expression/methods/tests.rb lib/regexp_parser/expression/methods/traverse.rb lib/regexp_parser/expression/quantifier.rb lib/regexp_parser/expression/sequence.rb lib/regexp_parser/expression/sequence_operation.rb lib/regexp_parser/expression/subexpression.rb lib/regexp_parser/lexer.rb lib/regexp_parser/parser.rb lib/regexp_parser/scanner.rb lib/regexp_parser/syntax.rb lib/regexp_parser/syntax/any.rb lib/regexp_parser/syntax/base.rb lib/regexp_parser/syntax/tokens.rb lib/regexp_parser/syntax/tokens/anchor.rb lib/regexp_parser/syntax/tokens/assertion.rb lib/regexp_parser/syntax/tokens/backref.rb lib/regexp_parser/syntax/tokens/character_set.rb lib/regexp_parser/syntax/tokens/character_type.rb lib/regexp_parser/syntax/tokens/conditional.rb lib/regexp_parser/syntax/tokens/escape.rb lib/regexp_parser/syntax/tokens/group.rb lib/regexp_parser/syntax/tokens/keep.rb lib/regexp_parser/syntax/tokens/meta.rb lib/regexp_parser/syntax/tokens/posix_class.rb lib/regexp_parser/syntax/tokens/quantifier.rb lib/regexp_parser/syntax/tokens/unicode_property.rb lib/regexp_parser/syntax/version_lookup.rb lib/regexp_parser/syntax/versions.rb lib/regexp_parser/syntax/versions/1.8.6.rb lib/regexp_parser/syntax/versions/1.9.1.rb lib/regexp_parser/syntax/versions/1.9.3.rb lib/regexp_parser/syntax/versions/2.0.0.rb lib/regexp_parser/syntax/versions/2.2.0.rb lib/regexp_parser/syntax/versions/2.3.0.rb lib/regexp_parser/syntax/versions/2.4.0.rb lib/regexp_parser/syntax/versions/2.4.1.rb lib/regexp_parser/syntax/versions/2.5.0.rb lib/regexp_parser/syntax/versions/2.6.0.rb lib/regexp_parser/syntax/versions/2.6.2.rb lib/regexp_parser/syntax/versions/2.6.3.rb lib/regexp_parser/token.rb lib/regexp_parser/version.rb find lib/ -type d -empty -delete cd - cd - dh_installchangelogs -pruby-regexp-parser /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/CHANGELOG.md upstream /usr/bin/ruby2.7 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Checking Rubygems dependency resolution on ruby2.7 │ └──────────────────────────────────────────────────────────────────────────────┘ GEM_PATH=/build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all:/build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/2.7.0:/var/lib/gems/2.7.0:/usr/local/lib/ruby/gems/2.7.0:/usr/lib/ruby/gems/2.7.0:/usr/lib/x86_64-linux-gnu/ruby/gems/2.7.0:/usr/share/rubygems-integration/2.7.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0 ruby2.7 -e gem\ \"regexp_parser\" ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby2.7 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all:/build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/2.7.0:/var/lib/gems/2.7.0:/usr/local/lib/ruby/gems/2.7.0:/usr/lib/ruby/gems/2.7.0:/usr/lib/x86_64-linux-gnu/ruby/gems/2.7.0:/usr/share/rubygems-integration/2.7.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0 ruby2.7 -S rake -f debian/ruby-tests.rake /usr/bin/ruby2.7 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.10.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation Regexp::Expression::Base #to_re #level #terminal? alt #terminal? #coded_offset #quantity #repetitions #base_length #full_length Expression#clone Base#clone Subexpression#clone Group::Named#clone Group::Options#clone Backreference::Base#clone Sequence#clone Base#unquantified_clone produces a clone does not carry over the callee quantifier keeps quantifiers of callee children Regexp::Expression::Conditional root level level one level two level three Regexp::Expression::FreeSpace white space quantify raises error comment quantify raises error Regexp::MatchLength literal literal sequence dot set type escape property codepoint list multi-char literal fixed quantified range quantified nested quantified open-end quantified empty subexpression anchor lookaround free space comment backreference subexp call alternation nested alternation quantified alternation absence group raises for missing references ::of works with Regexps works with Strings works with Expressions Expression#match_length returns the MatchLength Expression#inner_match_length returns the MatchLength of an expression that does not count towards parent match_length #include? unquantified fixed quantified variably quantified nested quantified branches called on leaf node #fixed? unquantified fixed quantified variably quantified equal branches unequal branches equal quantified branches unequal quantified branches empty #each returns an Enumerator if called without a block is aware of limit option even if called without a block is limited to 1000 iterations in case there are infinite match lengths scaffolds the Enumerable interface #endless_each returns an Enumerator if called without a block never stops iterating for infinite match lengths #inspect is nice Expression#match returns the #match result of the respective Regexp can be given an offset, just like Regexp#match works with the #=~ alias Expression#match? returns true if the Respective Regexp matches returns false if the Respective Regexp does not match Expression#strfregexp #strfre alias #strfregexp level #strfregexp start end #strfregexp length #strfregexp coded offset #strfregexp type token #strfregexp quantifier #strfregexp text #strfregexp combined #strfregexp conditional #strfregexp_tree #strfregexp_tree separator #strfregexp_tree excluding self ExpressionTests #type? #is? #one_of? Subexpression#traverse Subexpression#traverse Subexpression#traverse including self Subexpression#traverse without a block Subexpression#walk alias Subexpression#each_expression Subexpression#each_expression including self Subexpression#each_expression indices Subexpression#each_expression indices including self Subexpression#each_expression without a block Subexpression#flat_map without block Subexpression#flat_map without block including self Subexpression#flat_map indices Subexpression#flat_map indices including self Subexpression#flat_map expressions Subexpression#flat_map expressions including self Expression#options returns a hash of options/flags that affect the expression includes options that are locally enabled via special groups excludes locally disabled options gives correct precedence to negative options correctly handles multiple negative option parts gives correct precedence when encountering multiple encoding flags is accessible via shortcuts works for expression class Regexp::Expression::Root works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::Anchor::Base works for expression class Regexp::Expression::CharacterType::Base works for expression class Regexp::Expression::EscapeSequence::Base works for expression class Regexp::Expression::Keep::Mark works for expression class Regexp::Expression::CharacterType::Any works for expression class Regexp::Expression::Group::Base works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::Assertion::Base works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::Group::Base works for expression class Regexp::Expression::Alternation works for expression class Regexp::Expression::Alternative works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::Backreference::Base works for expression class Regexp::Expression::Backreference::Number works for expression class Regexp::Expression::Backreference::NumberCall works for expression class Regexp::Expression::CharacterSet works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::CharacterSet::Range works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::CharacterSet::Intersection works for expression class Regexp::Expression::CharacterSet::IntersectedSequence works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::PosixClass works for expression class Regexp::Expression::UnicodeProperty::Base works for expression class Regexp::Expression::Conditional::Expression works for expression class Regexp::Expression::Conditional::Condition works for expression class Regexp::Expression::Conditional::Branch works for expression class Regexp::Expression::Literal Regexp::Expression::Subexpression #ts, #te #nesting_level #dig Expression#to_h Root#to_h Quantifier#to_h Conditional#to_h Expression#to_s literal alternation quantified alternations quantified sets property sets groups assertions comments options url multiline source multiline #to_s multiline equivalence chained quantifiers #to_s non-ascii comment Regexp::Lexer lexer returns an array lexer returns tokens lexer token count lexer scan alias Conditional lexing given the pattern (?-mix:(?a)(?()b|c)) lexes token 3 as open conditional at 0, 0, 0 lexes token 4 as condition conditional at 0, 0, 1 lexes token 6 as separator conditional at 0, 0, 1 lexes token 8 as close conditional at 0, 0, 0 given the pattern (?-mix:((?a)(?(?()b|((?()[e-g]|[h-j])))))) lexes token 0 as capture group at 0, 0, 0 lexes token 1 as named group at 1, 0, 0 lexes token 5 as open conditional at 2, 0, 0 lexes token 6 as condition conditional at 2, 0, 1 lexes token 8 as separator conditional at 2, 0, 1 lexes token 10 as open conditional at 3, 0, 1 lexes token 11 as condition conditional at 3, 0, 2 lexes token 12 as open set at 3, 0, 2 lexes token 13 as literal literal at 3, 1, 2 lexes token 14 as range set at 3, 1, 2 lexes token 15 as literal literal at 3, 1, 2 lexes token 16 as close set at 3, 0, 2 lexes token 17 as separator conditional at 3, 0, 2 lexes token 23 as close conditional at 3, 0, 1 lexes token 25 as close conditional at 2, 0, 0 lexes token 26 as close group at 1, 0, 0 lexes token 27 as close group at 0, 0, 0 given the pattern (?-mix:(a(b(c)))(?(1)(?(2)(?(3)d|e))|(?(3)(?(2)f|g)|(?(1)f|g)))) lexes token 9 as open conditional at 0, 0, 0 lexes token 10 as condition conditional at 0, 0, 1 lexes token 11 as open conditional at 0, 0, 1 lexes token 12 as condition conditional at 0, 0, 2 lexes token 13 as open conditional at 0, 0, 2 lexes token 14 as condition conditional at 0, 0, 3 lexes token 16 as separator conditional at 0, 0, 3 lexes token 18 as close conditional at 0, 0, 2 lexes token 19 as close conditional at 0, 0, 1 lexes token 20 as separator conditional at 0, 0, 1 lexes token 21 as open conditional at 0, 0, 1 lexes token 22 as condition conditional at 0, 0, 2 lexes token 23 as open conditional at 0, 0, 2 lexes token 24 as condition conditional at 0, 0, 3 lexes token 26 as separator conditional at 0, 0, 3 lexes token 28 as close conditional at 0, 0, 2 lexes token 29 as separator conditional at 0, 0, 2 lexes token 30 as open conditional at 0, 0, 2 lexes token 31 as condition conditional at 0, 0, 3 lexes token 33 as separator conditional at 0, 0, 3 lexes token 35 as close conditional at 0, 0, 2 lexes token 36 as close conditional at 0, 0, 1 lexes token 37 as close conditional at 0, 0, 0 Literal delimiter lexing given the pattern } lexes token 0 as literal literal at 0, 0, 0 given the pattern }} lexes token 0 as literal literal at 0, 0, 0 given the pattern { lexes token 0 as literal literal at 0, 0, 0 given the pattern {{ lexes token 0 as literal literal at 0, 0, 0 given the pattern {} lexes token 0 as literal literal at 0, 0, 0 given the pattern }{ lexes token 0 as literal literal at 0, 0, 0 given the pattern }{+ lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as literal literal at 0, 0, 0 lexes token 2 as one_or_more quantifier at 0, 0, 0 given the pattern {{var}} lexes token 0 as literal literal at 0, 0, 0 given the pattern a{b}c lexes token 0 as literal literal at 0, 0, 0 given the pattern a{1,2 lexes token 0 as literal literal at 0, 0, 0 given the pattern ({.+}) lexes token 0 as capture group at 0, 0, 0 lexes token 1 as literal literal at 1, 0, 0 lexes token 2 as dot meta at 1, 0, 0 lexes token 3 as one_or_more quantifier at 1, 0, 0 lexes token 4 as literal literal at 1, 0, 0 lexes token 5 as close group at 0, 0, 0 given the pattern ] lexes token 0 as literal literal at 0, 0, 0 given the pattern ]] lexes token 0 as literal literal at 0, 0, 0 given the pattern ]\[ lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as set_open escape at 0, 0, 0 given the pattern () lexes token 0 as capture group at 0, 0, 0 lexes token 1 as close group at 0, 0, 0 given the pattern {abc:.+}}}[^}]]} lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as dot meta at 0, 0, 0 lexes token 2 as one_or_more quantifier at 0, 0, 0 lexes token 3 as literal literal at 0, 0, 0 lexes token 4 as open set at 0, 0, 0 lexes token 5 as negate set at 0, 1, 0 lexes token 6 as literal literal at 0, 1, 0 lexes token 7 as close set at 0, 0, 0 lexes token 8 as literal literal at 0, 0, 0 Escape lexing given the pattern \u{62} lexes token 0 as codepoint_list escape at 0, 0, 0 given the pattern \u{62 63 64} lexes token 0 as codepoint_list escape at 0, 0, 0 given the pattern \u{62 63 64}+ lexes token 0 as codepoint_list escape at 0, 0, 0 lexes token 1 as codepoint_list escape at 0, 0, 0 lexes token 2 as one_or_more quantifier at 0, 0, 0 Keep lexing given the pattern (?-mix:ab\Kcd) lexes token 1 as mark keep at 0, 0, 0 given the pattern (?-mix:(a\Kb)|(c\\\Kd)ef) lexes token 2 as mark keep at 1, 0, 0 lexes token 9 as mark keep at 1, 0, 0 Literal lexing lex single 2 byte char lex single 3 byte char lex single 4 byte char given the pattern a lexes token 0 as literal literal at 0, 0, 0 given the pattern ab+ lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as literal literal at 0, 0, 0 lexes token 2 as one_or_more quantifier at 0, 0, 0 given the pattern äöü+ lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as literal literal at 0, 0, 0 lexes token 2 as one_or_more quantifier at 0, 0, 0 given the pattern ab?れます+cd lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as literal literal at 0, 0, 0 lexes token 2 as zero_or_one quantifier at 0, 0, 0 lexes token 3 as literal literal at 0, 0, 0 lexes token 4 as literal literal at 0, 0, 0 lexes token 5 as one_or_more quantifier at 0, 0, 0 lexes token 6 as literal literal at 0, 0, 0 given the pattern 𐒀𐒁?𐒂ab+𐒃 lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as literal literal at 0, 0, 0 lexes token 2 as zero_or_one quantifier at 0, 0, 0 lexes token 3 as literal literal at 0, 0, 0 lexes token 4 as literal literal at 0, 0, 0 lexes token 5 as one_or_more quantifier at 0, 0, 0 lexes token 6 as literal literal at 0, 0, 0 given the pattern mu𝄞?si*𝄫c+ lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as literal literal at 0, 0, 0 lexes token 2 as zero_or_one quantifier at 0, 0, 0 lexes token 3 as literal literal at 0, 0, 0 lexes token 4 as literal literal at 0, 0, 0 lexes token 5 as zero_or_more quantifier at 0, 0, 0 lexes token 6 as literal literal at 0, 0, 0 lexes token 7 as literal literal at 0, 0, 0 lexes token 8 as one_or_more quantifier at 0, 0, 0 Nesting lexing given the pattern (?-mix:(((b)))) lexes token 0 as capture group at 0, 0, 0 lexes token 1 as capture group at 1, 0, 0 lexes token 2 as capture group at 2, 0, 0 lexes token 3 as literal literal at 3, 0, 0 lexes token 4 as close group at 2, 0, 0 lexes token 5 as close group at 1, 0, 0 lexes token 6 as close group at 0, 0, 0 given the pattern (?-mix:(\((b)\))) lexes token 0 as capture group at 0, 0, 0 lexes token 1 as group_open escape at 1, 0, 0 lexes token 2 as capture group at 1, 0, 0 lexes token 3 as literal literal at 2, 0, 0 lexes token 4 as close group at 1, 0, 0 lexes token 5 as group_close escape at 1, 0, 0 lexes token 6 as close group at 0, 0, 0 given the pattern (?-mix:(?>a(?>b(?>c)))) lexes token 0 as atomic group at 0, 0, 0 lexes token 2 as atomic group at 1, 0, 0 lexes token 4 as atomic group at 2, 0, 0 lexes token 6 as close group at 2, 0, 0 lexes token 7 as close group at 1, 0, 0 lexes token 8 as close group at 0, 0, 0 given the pattern (?-mix:a(?:b(?:c))) lexes token 0 as passive group at 0, 0, 0 lexes token 2 as passive group at 1, 0, 0 lexes token 4 as passive group at 2, 0, 0 lexes token 6 as close group at 2, 0, 0 lexes token 7 as close group at 1, 0, 0 lexes token 8 as close group at 0, 0, 0 given the pattern (?-mix:(?=a(?!b(?<=c(?abc)\k lexes token 3 as name_ref backref at 0, 0, 0 given the pattern (?abc)\k'X' lexes token 3 as name_ref backref at 0, 0, 0 given the pattern (abc)\k<1> lexes token 3 as number_ref backref at 0, 0, 0 given the pattern (abc)\k'1' lexes token 3 as number_ref backref at 0, 0, 0 given the pattern (abc)\k<-1> lexes token 3 as number_rel_ref backref at 0, 0, 0 given the pattern (abc)\k'-1' lexes token 3 as number_rel_ref backref at 0, 0, 0 given the pattern (?abc)\g lexes token 3 as name_call backref at 0, 0, 0 given the pattern (?abc)\g'X' lexes token 3 as name_call backref at 0, 0, 0 given the pattern (abc)\g<1> lexes token 3 as number_call backref at 0, 0, 0 given the pattern (abc)\g'1' lexes token 3 as number_call backref at 0, 0, 0 given the pattern \g<0> lexes token 0 as number_call backref at 0, 0, 0 given the pattern \g'0' lexes token 0 as number_call backref at 0, 0, 0 given the pattern (abc)\g<-1> lexes token 3 as number_rel_call backref at 0, 0, 0 given the pattern (abc)\g'-1' lexes token 3 as number_rel_call backref at 0, 0, 0 given the pattern (abc)\g<+1> lexes token 3 as number_rel_call backref at 0, 0, 0 given the pattern (abc)\g'+1' lexes token 3 as number_rel_call backref at 0, 0, 0 given the pattern (?abc)\k lexes token 3 as name_recursion_ref backref at 0, 0, 0 given the pattern (?abc)\k'X-0' lexes token 3 as name_recursion_ref backref at 0, 0, 0 given the pattern (abc)\k<1-0> lexes token 3 as number_recursion_ref backref at 0, 0, 0 given the pattern (abc)\k'1-0' lexes token 3 as number_recursion_ref backref at 0, 0, 0 Regexp::Parser parse returns a root expression parse can be called with block parse root contains expressions parse root options mi parse node types parse no quantifier target raises error parse sequence no quantifier target raises error Alternation parsing parse alternation root parse alternation alts parse alternation nested parse alternation nested sequence parse alternation nested groups parse alternation grouped alts parse alternation nested grouped alts parse alternation continues after nesting Anchor parsing given the pattern (?-mix:^a) parses expression at 0 as Regexp::Expression::Anchor::BeginningOfLine given the pattern (?-mix:a$) parses expression at 1 as Regexp::Expression::Anchor::EndOfLine given the pattern (?-mix:\Aa) parses expression at 0 as Regexp::Expression::Anchor::BeginningOfString given the pattern (?-mix:a\z) parses expression at 1 as Regexp::Expression::Anchor::EndOfString given the pattern (?-mix:a\Z) parses expression at 1 as Regexp::Expression::Anchor::EndOfStringOrBeforeEndOfLine given the pattern (?-mix:a\b) parses expression at 1 as Regexp::Expression::Anchor::WordBoundary given the pattern (?-mix:a\B) parses expression at 1 as Regexp::Expression::Anchor::NonWordBoundary given the pattern (?-mix:a\G) parses expression at 1 as Regexp::Expression::Anchor::MatchStart given the pattern (?-mix:\\A) parses expression at 0 as Regexp::Expression::EscapeSequence::Literal Conditional parsing parse conditional parse conditional condition parse conditional condition with number ref parse conditional nested groups parse conditional nested parse conditional nested alternation parse conditional extra separator parse conditional quantified parse conditional branch content quantified parse conditional excessive branches Parsing errors raises UnknownTokenTypeError for unknown token types raises for unkown tokens of type anchor raises for unkown tokens of type backref raises for unkown tokens of type conditional raises for unkown tokens of type free_space raises for unkown tokens of type group raises for unkown tokens of type meta raises for unkown tokens of type nonproperty raises for unkown tokens of type property raises for unkown tokens of type quantifier raises for unkown tokens of type set raises for unkown tokens of type type EscapeSequence parsing parse chars and codepoints parse escape control sequence lower parse escape control sequence upper parse escape meta sequence parse escape meta control sequence parse lower c meta control sequence parse escape reverse meta control sequence parse escape reverse lower c meta control sequence given the pattern (?-mix:a\ac) parses expression at 1 as Regexp::Expression::EscapeSequence::Bell given the pattern (?-mix:a\ec) parses expression at 1 as Regexp::Expression::EscapeSequence::AsciiEscape given the pattern (?-mix:a\fc) parses expression at 1 as Regexp::Expression::EscapeSequence::FormFeed given the pattern (?-mix:a\nc) parses expression at 1 as Regexp::Expression::EscapeSequence::Newline given the pattern (?-mix:a\rc) parses expression at 1 as Regexp::Expression::EscapeSequence::Return given the pattern (?-mix:a\tc) parses expression at 1 as Regexp::Expression::EscapeSequence::Tab given the pattern (?-mix:a\vc) parses expression at 1 as Regexp::Expression::EscapeSequence::VerticalTab given the pattern (?-mix:a\.c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\?c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\*c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\+c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\|c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\(c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\)c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\{c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\}c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\u0640) parses expression at 1 as Regexp::Expression::EscapeSequence::Codepoint given the pattern (?-mix:a\u{41 1F60D}) parses expression at 1 as Regexp::Expression::EscapeSequence::CodepointList given the pattern (?-mix:a\u{10FFFF}) parses expression at 1 as Regexp::Expression::EscapeSequence::CodepointList given the pattern (?-mix:a\xFF) parses expression at 1 as Regexp::Expression::EscapeSequence::Hex given the pattern (?-mix:a\177) parses expression at 1 as Regexp::Expression::EscapeSequence::Octal FreeSpace parsing parse free space spaces parse non free space literals parse free space comments parse free space nested comments parse free space quantifiers Group parsing parse group number parse group number at level given the pattern (?-mix:(?=abc)(?!def)) parses expression at 0 as Regexp::Expression::Assertion::Lookahead parses expression at 1 as Regexp::Expression::Assertion::NegativeLookahead given the pattern (?-mix:(?<=abc)(?abc)\k) parses expression at 1 as Regexp::Expression::Backreference::Name given the pattern (?-mix:(?abc)\k'X') parses expression at 1 as Regexp::Expression::Backreference::Name given the pattern (?-mix:(abc)\k<1>) parses expression at 1 as Regexp::Expression::Backreference::Number given the pattern (?-mix:(abc)\k'1') parses expression at 1 as Regexp::Expression::Backreference::Number given the pattern (?-mix:(abc)\k<-1>) parses expression at 1 as Regexp::Expression::Backreference::NumberRelative given the pattern (?-mix:(abc)\k'-1') parses expression at 1 as Regexp::Expression::Backreference::NumberRelative given the pattern (?-mix:(?abc)\g) parses expression at 1 as Regexp::Expression::Backreference::NameCall given the pattern (?-mix:(?abc)\g'X') parses expression at 1 as Regexp::Expression::Backreference::NameCall given the pattern (?-mix:(abc)\g<1>) parses expression at 1 as Regexp::Expression::Backreference::NumberCall given the pattern (?-mix:(abc)\g'1') parses expression at 1 as Regexp::Expression::Backreference::NumberCall given the pattern \g<0> parses expression at 0 as Regexp::Expression::Backreference::NumberCall given the pattern \g'0' parses expression at 0 as Regexp::Expression::Backreference::NumberCall given the pattern (?-mix:(abc)\g<-1>) parses expression at 1 as Regexp::Expression::Backreference::NumberCallRelative given the pattern (?-mix:(abc)\g'-1') parses expression at 1 as Regexp::Expression::Backreference::NumberCallRelative given the pattern (?-mix:\g<+1>(abc)) parses expression at 0 as Regexp::Expression::Backreference::NumberCallRelative given the pattern (?-mix:\g'+1'(abc)) parses expression at 0 as Regexp::Expression::Backreference::NumberCallRelative given the pattern (?-mix:(?abc)\k) parses expression at 1 as Regexp::Expression::Backreference::NameRecursionLevel given the pattern (?-mix:(?abc)\k'X-0') parses expression at 1 as Regexp::Expression::Backreference::NameRecursionLevel given the pattern (?-mix:(abc)\k<1-0>) parses expression at 1 as Regexp::Expression::Backreference::NumberRecursionLevel given the pattern (?-mix:(abc)\k'1-0') parses expression at 1 as Regexp::Expression::Backreference::NumberRecursionLevel given the pattern (?-mix:(abc)\k'-1+0') parses expression at 1 as Regexp::Expression::Backreference::NumberRecursionLevel given the pattern (?-mix:(abc)\k'1+1') parses expression at 1 as Regexp::Expression::Backreference::NumberRecursionLevel given the pattern (?-mix:(abc)\k'1-1') parses expression at 1 as Regexp::Expression::Backreference::NumberRecursionLevel CharacterSet::Intersection parsing parse set intersection parse set intersection range and subset parse set intersection trailing range parse set intersection type parse set intersection multipart CharacterSet::Range parsing parse set range parse set range hex parse set range unicode /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[--z]/ parse set range edge case leading dash /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[!--]/ parse set range edge case trailing dash parse set range edge case leading negate parse set range edge case trailing negate /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[[\-ab]&&-bc]/ /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[[\-ab]&&-bc]/ /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[[\-ab]&&-bc]/ /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[[\-ab]&&-bc]/ parse set range edge case leading intersection /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[bc-&&[\-ab]]/ /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[bc-&&[\-ab]]/ /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[bc-&&[\-ab]]/ /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[bc-&&[\-ab]]/ parse set range edge case trailing intersection CharacterSet parsing parse set basic parse set char type parse set escape sequence backspace parse set escape sequence hex parse set escape sequence codepoint parse set escape sequence codepoint list parse set posix class parse set nesting parse set nesting negative parse set nesting #to_s parse set literals are not merged parse set whitespace is not merged parse set whitespace is not merged in x mode parse set collating sequence parse set character equivalents CharacterType parsing given the pattern (?-mix:a\dc) parses expression at 1 as Regexp::Expression::CharacterType::Digit given the pattern (?-mix:a\Dc) parses expression at 1 as Regexp::Expression::CharacterType::NonDigit given the pattern (?-mix:a\sc) parses expression at 1 as Regexp::Expression::CharacterType::Space given the pattern (?-mix:a\Sc) parses expression at 1 as Regexp::Expression::CharacterType::NonSpace given the pattern (?-mix:a\hc) parses expression at 1 as Regexp::Expression::CharacterType::Hex given the pattern (?-mix:a\Hc) parses expression at 1 as Regexp::Expression::CharacterType::NonHex given the pattern (?-mix:a\wc) parses expression at 1 as Regexp::Expression::CharacterType::Word given the pattern (?-mix:a\Wc) parses expression at 1 as Regexp::Expression::CharacterType::NonWord given the pattern a\Rc parses expression at 1 as Regexp::Expression::CharacterType::Linebreak given the pattern a\Xc parses expression at 1 as Regexp::Expression::CharacterType::ExtendedGrapheme Regexp::Scanner scanner returns an array scanner returns tokens as arrays scanner token count Anchor scanning given the pattern ^abc scans token 0 as bol anchor at 0..1 given the pattern abc$ scans token 1 as eol anchor at 3..4 given the pattern \Aabc scans token 0 as bos anchor at 0..2 given the pattern abc\z scans token 1 as eos anchor at 3..5 given the pattern abc\Z scans token 1 as eos_ob_eol anchor at 3..5 given the pattern a\bc scans token 1 as word_boundary anchor at 1..3 given the pattern a\Bc scans token 1 as nonword_boundary anchor at 1..3 given the pattern a\Gc scans token 1 as match_start anchor at 1..3 given the pattern \\Ac scans token 0 as backslash escape at 0..2 given the pattern a\\z scans token 1 as backslash escape at 1..3 given the pattern a\\Z scans token 1 as backslash escape at 1..3 given the pattern a\\bc scans token 1 as backslash escape at 1..3 given the pattern a\\Bc scans token 1 as backslash escape at 1..3 Conditional scanning given the pattern (?-mix:(a)(?(1)T|F)1) scans token 3 as open conditional at 3..5 given the pattern (?-mix:(a)(?(1)T|F)2) scans token 4 as condition_open conditional at 5..6 given the pattern (?-mix:(a)(?(1)T|F)3) scans token 5 as condition conditional at 6..7 given the pattern (?-mix:(a)(?(1)T|F)4) scans token 6 as condition_close conditional at 7..8 given the pattern (?-mix:(a)(?(1)T|F)5) scans token 7 as literal literal at 8..9 given the pattern (?-mix:(a)(?(1)T|F)6) scans token 8 as separator conditional at 9..10 given the pattern (?-mix:(a)(?(1)T|F)7) scans token 9 as literal literal at 10..11 given the pattern (?-mix:(a)(?(1)T|F)8) scans token 10 as close conditional at 11..12 given the pattern (?-mix:(a)(?(1)TRUE)9) scans token 8 as close conditional at 12..13 given the pattern (?-mix:(a)(?(1)TRUE|)10) scans token 8 as separator conditional at 12..13 given the pattern (?-mix:(a)(?(1)TRUE|)11) scans token 9 as close conditional at 13..14 given the pattern (?-mix:(?A)(?()T|F)1) scans token 5 as condition conditional at 10..13 given the pattern (?-mix:(?'N'A)(?('N')T|F)2) scans token 5 as condition conditional at 10..13 given the pattern (?-mix:(a(b(c)))(?(1)(?(2)d|(?(3)e|f))|(?(2)(?(1)g|h)))) scans token 0 as capture group at 0..1 scans token 1 as literal literal at 1..2 scans token 2 as capture group at 2..3 scans token 3 as literal literal at 3..4 scans token 4 as capture group at 4..5 scans token 5 as literal literal at 5..6 scans token 6 as close group at 6..7 scans token 7 as close group at 7..8 scans token 8 as close group at 8..9 scans token 9 as open conditional at 9..11 scans token 10 as condition_open conditional at 11..12 scans token 11 as condition conditional at 12..13 scans token 12 as condition_close conditional at 13..14 scans token 13 as open conditional at 14..16 scans token 14 as condition_open conditional at 16..17 scans token 15 as condition conditional at 17..18 scans token 16 as condition_close conditional at 18..19 scans token 17 as literal literal at 19..20 scans token 18 as separator conditional at 20..21 scans token 19 as open conditional at 21..23 scans token 20 as condition_open conditional at 23..24 scans token 21 as condition conditional at 24..25 scans token 22 as condition_close conditional at 25..26 scans token 23 as literal literal at 26..27 scans token 24 as separator conditional at 27..28 scans token 25 as literal literal at 28..29 scans token 26 as close conditional at 29..30 scans token 27 as close conditional at 30..31 scans token 28 as separator conditional at 31..32 scans token 29 as open conditional at 32..34 scans token 30 as condition_open conditional at 34..35 scans token 31 as condition conditional at 35..36 scans token 32 as condition_close conditional at 36..37 scans token 33 as open conditional at 37..39 scans token 34 as condition_open conditional at 39..40 scans token 35 as condition conditional at 40..41 scans token 36 as condition_close conditional at 41..42 scans token 37 as literal literal at 42..43 scans token 38 as separator conditional at 43..44 scans token 39 as literal literal at 44..45 scans token 40 as close conditional at 45..46 scans token 41 as close conditional at 46..47 scans token 42 as close conditional at 47..48 given the pattern (?-mix:((a)|(b)|((?(2)(c(d|e)+)?|(?(3)f|(?(4)(g|(h)(i)))))))) scans token 0 as capture group at 0..1 scans token 1 as capture group at 1..2 scans token 2 as literal literal at 2..3 scans token 3 as close group at 3..4 scans token 4 as alternation meta at 4..5 scans token 5 as capture group at 5..6 scans token 6 as literal literal at 6..7 scans token 7 as close group at 7..8 scans token 8 as alternation meta at 8..9 scans token 9 as capture group at 9..10 scans token 10 as open conditional at 10..12 scans token 11 as condition_open conditional at 12..13 scans token 12 as condition conditional at 13..14 scans token 13 as condition_close conditional at 14..15 scans token 14 as capture group at 15..16 scans token 15 as literal literal at 16..17 scans token 16 as capture group at 17..18 scans token 17 as literal literal at 18..19 scans token 18 as alternation meta at 19..20 scans token 19 as literal literal at 20..21 scans token 20 as close group at 21..22 scans token 21 as one_or_more quantifier at 22..23 scans token 22 as close group at 23..24 scans token 23 as zero_or_one quantifier at 24..25 scans token 24 as separator conditional at 25..26 scans token 25 as open conditional at 26..28 scans token 26 as condition_open conditional at 28..29 scans token 27 as condition conditional at 29..30 scans token 28 as condition_close conditional at 30..31 scans token 29 as literal literal at 31..32 scans token 30 as separator conditional at 32..33 scans token 31 as open conditional at 33..35 scans token 32 as condition_open conditional at 35..36 scans token 33 as condition conditional at 36..37 scans token 34 as condition_close conditional at 37..38 scans token 35 as capture group at 38..39 scans token 36 as literal literal at 39..40 scans token 37 as alternation meta at 40..41 scans token 38 as capture group at 41..42 scans token 39 as literal literal at 42..43 scans token 40 as close group at 43..44 scans token 41 as capture group at 44..45 scans token 42 as literal literal at 45..46 scans token 43 as close group at 46..47 scans token 44 as close group at 47..48 scans token 45 as close conditional at 48..49 scans token 46 as close conditional at 49..50 scans token 47 as close conditional at 50..51 scans token 48 as close group at 51..52 scans token 49 as close group at 52..53 given the pattern (?-mix:(a)(?(1)(b|c|d)|(e|f|g))(h)(?(2)(i|j|k)|(l|m|n))|o|p) scans token 9 as alternation meta at 10..11 scans token 11 as alternation meta at 12..13 scans token 14 as separator conditional at 15..16 scans token 17 as alternation meta at 18..19 scans token 19 as alternation meta at 20..21 scans token 32 as alternation meta at 34..35 scans token 34 as alternation meta at 36..37 scans token 37 as separator conditional at 39..40 scans token 40 as alternation meta at 42..43 scans token 42 as alternation meta at 44..45 scans token 46 as alternation meta at 48..49 scans token 48 as alternation meta at 50..51 Literal delimiter scanning given the pattern } scans token 0 as literal literal at 0..1 given the pattern }} scans token 0 as literal literal at 0..2 given the pattern { scans token 0 as literal literal at 0..1 given the pattern {{ scans token 0 as literal literal at 0..2 given the pattern {} scans token 0 as literal literal at 0..2 given the pattern }{ scans token 0 as literal literal at 0..2 given the pattern }{+ scans token 0 as literal literal at 0..2 given the pattern {{var}} scans token 0 as literal literal at 0..7 given the pattern a{1,2 scans token 0 as literal literal at 0..5 given the pattern ({.+}) scans token 0 as capture group at 0..1 scans token 1 as literal literal at 1..2 scans token 2 as dot meta at 2..3 scans token 3 as one_or_more quantifier at 3..4 scans token 4 as literal literal at 4..5 scans token 5 as close group at 5..6 given the pattern ] scans token 0 as literal literal at 0..1 given the pattern ]] scans token 0 as literal literal at 0..2 given the pattern ]\[ scans token 0 as literal literal at 0..1 scans token 1 as set_open escape at 1..3 given the pattern () scans token 0 as capture group at 0..1 scans token 1 as close group at 1..2 Regexp::Scanner raises Regexp::Scanner::PrematureEndError for unbalanced set `[a` raises Regexp::Scanner::PrematureEndError for unbalanced set `[[:alpha:]` raises Regexp::Scanner::PrematureEndError for unbalanced group `(abc` raises Regexp::Scanner::PrematureEndError for eof in property `\p{asci` raises Regexp::Scanner::PrematureEndError for incomplete property `\p{ascii abc` raises Regexp::Scanner::PrematureEndError for eof options `(?mix` raises Regexp::Scanner::PrematureEndError for eof escape `\` raises Regexp::Scanner::PrematureEndError for eof in hex escape `\x` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u0` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u00` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u000` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u{` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u{00` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u{0000` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u{0000 ` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u{0000 0000` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\c` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\c\M` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\c\M-` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\C` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\C-` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\C-\M` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\C-\M-` raises Regexp::Scanner::PrematureEndError for eof in m-seq `\M` raises Regexp::Scanner::PrematureEndError for eof in m-seq `\M-` raises Regexp::Scanner::PrematureEndError for eof in m-seq `\M-\` raises Regexp::Scanner::PrematureEndError for eof in m-seq `\M-\c` raises Regexp::Scanner::PrematureEndError for eof in m-seq `\M-\C` raises Regexp::Scanner::PrematureEndError for eof in m-seq `\M-\C-` raises Regexp::Scanner::InvalidSequenceError for invalid hex `\xZ` raises Regexp::Scanner::InvalidSequenceError for invalid hex `\xZ0` raises Regexp::Scanner::InvalidSequenceError for invalid c-seq `\cü` raises Regexp::Scanner::InvalidSequenceError for invalid c-seq `\c\M-ü` raises Regexp::Scanner::InvalidSequenceError for invalid c-seq `\C-ü` raises Regexp::Scanner::InvalidSequenceError for invalid c-seq `\C-\M-ü` raises Regexp::Scanner::InvalidSequenceError for invalid m-seq `\M-ü` raises Regexp::Scanner::InvalidSequenceError for invalid m-seq `\M-\cü` raises Regexp::Scanner::InvalidSequenceError for invalid m-seq `\M-\C-ü` raises Regexp::Scanner::ScannerError for invalid c-seq `\Ca` raises Regexp::Scanner::ScannerError for invalid m-seq `\Ma` raises Regexp::Scanner::InvalidGroupError for invalid group `(?'')` raises Regexp::Scanner::InvalidGroupError for invalid group `(?''empty-name)` raises Regexp::Scanner::InvalidGroupError for invalid group `(?<>)` raises Regexp::Scanner::InvalidGroupError for invalid group `(?<>empty-name)` raises Regexp::Scanner::InvalidGroupOption for invalid option `(?foo)` raises Regexp::Scanner::InvalidGroupOption for invalid option `(?mix abc)` raises Regexp::Scanner::InvalidGroupOption for invalid option `(?mix^bc` raises Regexp::Scanner::InvalidGroupOption for invalid option `(?)` raises Regexp::Scanner::InvalidGroupOption for invalid neg option `(?-foo)` raises Regexp::Scanner::InvalidGroupOption for invalid neg option `(?-u)` raises Regexp::Scanner::InvalidGroupOption for invalid neg option `(?-mixu)` raises Regexp::Scanner::InvalidBackrefError for empty backref `\k<>` raises Regexp::Scanner::InvalidBackrefError for empty backref `\k''` raises Regexp::Scanner::InvalidBackrefError for empty refcall `\g<>` raises Regexp::Scanner::InvalidBackrefError for empty refcall `\g''` raises Regexp::Scanner::UnknownUnicodePropertyError for unknown property `\p{foobar}` Escape scanning given the pattern (?-mix:c\at) scans token 1 as bell escape at 1..3 given the pattern (?-mix:c\bt) scans token 1 as word_boundary anchor at 1..3 given the pattern (?-mix:c\ft) scans token 1 as form_feed escape at 1..3 given the pattern (?-mix:c\nt) scans token 1 as newline escape at 1..3 given the pattern (?-mix:c\tt) scans token 1 as tab escape at 1..3 given the pattern (?-mix:c\vt) scans token 1 as vertical_tab escape at 1..3 given the pattern c\qt scans token 1 as literal escape at 1..3 given the pattern a\üc scans token 1 as literal escape at 1..3 given the pattern a\😋c scans token 1 as literal escape at 1..3 given the pattern c\gt scans token 1 as literal escape at 1..3 given the pattern c\kt scans token 1 as literal escape at 1..3 given the pattern a\012c scans token 1 as octal escape at 1..5 given the pattern a\0124 scans token 1 as octal escape at 1..5 given the pattern \712+7 scans token 0 as octal escape at 0..4 given the pattern a\xA scans token 1 as hex escape at 1..4 given the pattern a\x24c scans token 1 as hex escape at 1..5 given the pattern a\x0640c scans token 1 as hex escape at 1..5 given the pattern a\u0640c scans token 1 as codepoint escape at 1..7 given the pattern a\u{640 0641}c scans token 1 as codepoint_list escape at 1..13 given the pattern a\u{10FFFF}c scans token 1 as codepoint_list escape at 1..11 given the pattern (?-mix:a\cBc) scans token 1 as control escape at 1..4 given the pattern (?-mix:a\c^c) scans token 1 as control escape at 1..4 given the pattern (?-mix:a\c\n) scans token 1 as control escape at 1..5 given the pattern (?-mix:a\c\\b) scans token 1 as control escape at 1..5 given the pattern (?-mix:a\C-bc) scans token 1 as control escape at 1..5 given the pattern (?-mix:a\C-^b) scans token 1 as control escape at 1..5 given the pattern (?-mix:a\C-\nb) scans token 1 as control escape at 1..6 given the pattern (?-mix:a\C-\\b) scans token 1 as control escape at 1..6 given the pattern (?-mix:a\c\M-Bc) scans token 1 as control escape at 1..7 given the pattern (?-mix:a\C-\M-Bc) scans token 1 as control escape at 1..8 given the pattern (?-mix:a\M-Bc) scans token 1 as meta_sequence escape at 1..5 given the pattern (?-mix:a\M-\cBc) scans token 1 as meta_sequence escape at 1..7 given the pattern (?-mix:a\M-\c^) scans token 1 as meta_sequence escape at 1..7 given the pattern (?-mix:a\M-\c\n) scans token 1 as meta_sequence escape at 1..8 given the pattern (?-mix:a\M-\c\\) scans token 1 as meta_sequence escape at 1..8 given the pattern (?-mix:a\M-\C-Bc) scans token 1 as meta_sequence escape at 1..8 given the pattern (?-mix:a\M-\C-\\) scans token 1 as meta_sequence escape at 1..9 given the pattern ab\\xcd scans token 1 as backslash escape at 2..4 given the pattern ab\\0cd scans token 1 as backslash escape at 2..4 given the pattern ab\\Kcd scans token 1 as backslash escape at 2..4 given the pattern ab\^cd scans token 1 as bol escape at 2..4 given the pattern ab\$cd scans token 1 as eol escape at 2..4 given the pattern ab\[cd scans token 1 as set_open escape at 2..4 FreeSpace scanning scan free space tokens scans 0 as free space scans 2 as free space scans 4 as free space scans 6 as free space scans 8 as free space scans 10 as free space scans 12 as free space scans 14 as free space scans 16 as free space scans 18 as free space scans 20 as free space scans 22 as free space scans 24 as free space does not scan 1 as free space does not scan 3 as free space does not scan 5 as free space does not scan 7 as free space does not scan 9 as free space does not scan 11 as free space does not scan 13 as free space does not scan 15 as free space does not scan 17 as free space does not scan 19 as free space does not scan 21 as free space does not scan 23 as free space sets the correct text scan free space comments given the pattern (?x-mi: a + # A + comment b ? # B ? comment c {2,3} # C {2,3} comment d + | e + # D|E comment ) scans token 5 as comment free_space at 11..25 scans token 11 as comment free_space at 37..51 scans token 17 as comment free_space at 66..84 scans token 29 as comment free_space at 100..114 given the pattern (?x-mi:a # b) scans token 0 as literal literal at 0..1 scans token 1 as whitespace free_space at 1..2 scans token 2 as comment free_space at 2..5 given the pattern (?x-mi:a#b) scans token 0 as literal literal at 0..1 scans token 1 as comment free_space at 1..3 scan free space inlined given the pattern (?-mix:a b(?x:c d e)f g) scans token 0 as literal literal at 0..3 scans token 1 as options group at 3..7 scans token 2 as literal literal at 7..8 scans token 3 as whitespace free_space at 8..9 scans token 4 as literal literal at 9..10 scans token 5 as whitespace free_space at 10..11 scans token 6 as literal literal at 11..12 scans token 7 as close group at 12..13 scans token 8 as literal literal at 13..16 scan free space nested given the pattern (?-mix:a b(?x:c d(?-x:e f)g h)i j) scans token 0 as literal literal at 0..3 scans token 1 as options group at 3..7 scans token 2 as literal literal at 7..8 scans token 3 as whitespace free_space at 8..9 scans token 4 as literal literal at 9..10 scans token 5 as options group at 10..15 scans token 6 as literal literal at 15..18 scans token 7 as close group at 18..19 scans token 8 as literal literal at 19..20 scans token 9 as whitespace free_space at 20..21 scans token 10 as literal literal at 21..22 scans token 11 as close group at 22..23 scans token 12 as literal literal at 23..26 scan free space nested groups given the pattern (?-mix:(a (b(?x: (c d) (?-x:(e f) )g) h)i j)) scans token 0 as capture group at 0..1 scans token 1 as literal literal at 1..3 scans token 2 as capture group at 3..4 scans token 3 as literal literal at 4..5 scans token 4 as options group at 5..9 scans token 5 as whitespace free_space at 9..10 scans token 6 as capture group at 10..11 scans token 7 as literal literal at 11..12 scans token 8 as whitespace free_space at 12..13 scans token 9 as literal literal at 13..14 scans token 10 as close group at 14..15 scans token 11 as whitespace free_space at 15..16 scans token 12 as options group at 16..21 scans token 13 as capture group at 21..22 scans token 14 as literal literal at 22..25 scans token 15 as close group at 25..26 scans token 16 as literal literal at 26..27 scans token 17 as close group at 27..28 scans token 18 as literal literal at 28..29 scans token 19 as close group at 29..30 scans token 20 as literal literal at 30..32 scans token 21 as close group at 32..33 scans token 22 as literal literal at 33..36 scans token 23 as close group at 36..37 scan free space switch groups given the pattern (?-mix:(a (b((?x) (c d) ((?-x)(e f) )g) h)i j)) scans token 0 as capture group at 0..1 scans token 1 as literal literal at 1..3 scans token 2 as capture group at 3..4 scans token 3 as literal literal at 4..5 scans token 4 as capture group at 5..6 scans token 5 as options_switch group at 6..9 scans token 6 as close group at 9..10 scans token 7 as whitespace free_space at 10..11 scans token 8 as capture group at 11..12 scans token 9 as literal literal at 12..13 scans token 10 as whitespace free_space at 13..14 scans token 11 as literal literal at 14..15 scans token 12 as close group at 15..16 scans token 13 as whitespace free_space at 16..17 scans token 14 as capture group at 17..18 scans token 15 as options_switch group at 18..22 scans token 16 as close group at 22..23 scans token 17 as capture group at 23..24 scans token 18 as literal literal at 24..27 scans token 19 as close group at 27..28 scans token 20 as literal literal at 28..29 scans token 21 as close group at 29..30 scans token 22 as literal literal at 30..31 scans token 23 as close group at 31..32 scans token 24 as literal literal at 32..34 scans token 25 as close group at 34..35 scans token 26 as literal literal at 35..38 scans token 27 as close group at 38..39 scanning `#` in regular (non-x mode) given the pattern (?-mix:a#bcd) scans token 0 as literal literal at 0..5 given the pattern (?-mix:a # bcd) scans token 0 as literal literal at 0..7 given the pattern (?-mix:a#\d) scans token 0 as literal literal at 0..2 scans token 1 as digit type at 2..4 given the pattern (?-mix:a # \d) scans token 0 as literal literal at 0..4 scans token 1 as digit type at 4..6 given the pattern (?-mix:a#()) scans token 0 as literal literal at 0..2 scans token 1 as capture group at 2..3 given the pattern (?-mix:a # ()) scans token 0 as literal literal at 0..4 scans token 1 as capture group at 4..5 Group scanning given the pattern (?>abc) scans token 0 as atomic group at 0..3 given the pattern (abc) scans token 0 as capture group at 0..1 given the pattern (?abc) scans token 0 as named_ab group at 0..8 given the pattern (?'name'abc) scans token 0 as named_sq group at 0..8 given the pattern (?abc) scans token 0 as named_ab group at 0..10 given the pattern (?'name_1'abc) scans token 0 as named_sq group at 0..10 given the pattern (?abc) scans token 0 as named_ab group at 0..10 given the pattern (?'name-1'abc) scans token 0 as named_sq group at 0..10 given the pattern (?abc) scans token 0 as named_ab group at 0..10 given the pattern (?'name>1'abc) scans token 0 as named_sq group at 0..10 given the pattern (?<üüuuüü>abc) scans token 0 as named_ab group at 0..10 given the pattern (?'üüuuüü'abc) scans token 0 as named_sq group at 0..10 given the pattern (?<😋1234😋>abc) scans token 0 as named_ab group at 0..10 given the pattern (?'😋1234😋'abc) scans token 0 as named_sq group at 0..10 given the pattern (?:abc) scans token 0 as passive group at 0..3 given the pattern (?:) scans token 0 as passive group at 0..3 given the pattern (?::) scans token 0 as passive group at 0..3 given the pattern (?#abc) scans token 0 as comment group at 0..7 given the pattern (?#) scans token 0 as comment group at 0..4 given the pattern (?=abc) scans token 0 as lookahead assertion at 0..3 given the pattern (?!abc) scans token 0 as nlookahead assertion at 0..3 given the pattern (?<=abc) scans token 0 as lookbehind assertion at 0..4 given the pattern (?abc)\k scans token 3 as name_ref_ab backref at 9..14 given the pattern (?abc)\k'X' scans token 3 as name_ref_sq backref at 9..14 given the pattern (?<+1>abc)\k<+1> scans token 3 as name_ref_ab backref at 10..16 given the pattern (?<+1>abc)\k'+1' scans token 3 as name_ref_sq backref at 10..16 given the pattern (abc)\k<1> scans token 3 as number_ref_ab backref at 5..10 given the pattern (abc)\k'1' scans token 3 as number_ref_sq backref at 5..10 given the pattern (abc)\k<-1> scans token 3 as number_rel_ref_ab backref at 5..11 given the pattern (abc)\k'-1' scans token 3 as number_rel_ref_sq backref at 5..11 given the pattern (?abc)\g scans token 3 as name_call_ab backref at 9..14 given the pattern (?abc)\g'X' scans token 3 as name_call_sq backref at 9..14 given the pattern (?abc)\g scans token 3 as name_call_ab backref at 9..16 given the pattern (?abc)\g'X-1' scans token 3 as name_call_sq backref at 9..16 given the pattern (abc)\g<1> scans token 3 as number_call_ab backref at 5..10 given the pattern (abc)\g'1' scans token 3 as number_call_sq backref at 5..10 given the pattern a(b|\g<0>) scans token 4 as number_call_ab backref at 4..9 given the pattern a(b|\g'0') scans token 4 as number_call_sq backref at 4..9 given the pattern (abc)\g<-1> scans token 3 as number_rel_call_ab backref at 5..11 given the pattern (abc)\g'-1' scans token 3 as number_rel_call_sq backref at 5..11 given the pattern \g<+1>(abc) scans token 0 as number_rel_call_ab backref at 0..6 given the pattern \g'+1'(abc) scans token 0 as number_rel_call_sq backref at 0..6 given the pattern (?abc)\k scans token 3 as name_recursion_ref_ab backref at 9..16 given the pattern (?abc)\k'X-0' scans token 3 as name_recursion_ref_sq backref at 9..16 given the pattern (abc)\k<1-0> scans token 3 as number_recursion_ref_ab backref at 5..12 given the pattern (abc)\k'1-0' scans token 3 as number_recursion_ref_sq backref at 5..12 given the pattern (abc)\k<+1-0> scans token 3 as name_recursion_ref_ab backref at 5..13 given the pattern (abc)\k'+1-0' scans token 3 as name_recursion_ref_sq backref at 5..13 Set scanning set literal encoding given the pattern (?-mix:[a]) scans token 0 as open set at 0..1 given the pattern (?-mix:[b]) scans token 2 as close set at 2..3 given the pattern (?-mix:[^n]) scans token 1 as negate set at 1..2 given the pattern (?-mix:[c]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[^d]) scans token 2 as literal literal at 2..3 given the pattern (?-mix:[\b]) scans token 1 as backspace escape at 1..3 given the pattern (?-mix:[A\bX]) scans token 2 as backspace escape at 2..4 given the pattern (?-mix:[\a]) scans token 1 as bell escape at 1..3 given the pattern (?-mix:[\e]) scans token 1 as escape escape at 1..3 given the pattern (?-mix:[\f]) scans token 1 as form_feed escape at 1..3 given the pattern (?-mix:[\n]) scans token 1 as newline escape at 1..3 given the pattern (?-mix:[\r]) scans token 1 as carriage escape at 1..3 given the pattern (?-mix:[\t]) scans token 1 as tab escape at 1..3 given the pattern (?-mix:[\v]) scans token 1 as vertical_tab escape at 1..3 given the pattern (?-mix:[.]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[?]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[*]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[+]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[{]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[}]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[<]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[>]) scans token 1 as literal literal at 1..2 given the pattern [\\] scans token 1 as backslash escape at 1..3 given the pattern [\u0040] scans token 1 as codepoint escape at 1..7 given the pattern [\u{40}] scans token 1 as codepoint_list escape at 1..7 given the pattern [\c2] scans token 1 as control escape at 1..4 given the pattern [\C-C] scans token 1 as control escape at 1..5 given the pattern [\x20] scans token 1 as hex escape at 1..5 given the pattern [\M-Z] scans token 1 as meta_sequence escape at 1..5 given the pattern [\M-\C-X] scans token 1 as meta_sequence escape at 1..8 given the pattern [\[] scans token 1 as set_open escape at 1..3 given the pattern [\]] scans token 1 as set_close escape at 1..3 given the pattern [a\-] scans token 2 as literal escape at 2..4 given the pattern [\-c] scans token 1 as literal escape at 1..3 given the pattern [\.] scans token 1 as literal escape at 1..3 given the pattern [\?] scans token 1 as literal escape at 1..3 given the pattern [\*] scans token 1 as literal escape at 1..3 given the pattern [\+] scans token 1 as literal escape at 1..3 given the pattern [\|] scans token 1 as literal escape at 1..3 given the pattern [\{] scans token 1 as literal escape at 1..3 given the pattern [\}] scans token 1 as literal escape at 1..3 given the pattern [\(] scans token 1 as literal escape at 1..3 given the pattern [\)] scans token 1 as literal escape at 1..3 given the pattern [\!] scans token 1 as literal escape at 1..3 given the pattern [\#] scans token 1 as literal escape at 1..3 given the pattern [\A] scans token 1 as literal escape at 1..3 given the pattern [\z] scans token 1 as literal escape at 1..3 given the pattern [\g] scans token 1 as literal escape at 1..3 given the pattern [\K] scans token 1 as literal escape at 1..3 given the pattern [\R] scans token 1 as literal escape at 1..3 given the pattern [\X] scans token 1 as literal escape at 1..3 given the pattern [\B] scans token 1 as literal escape at 1..3 given the pattern (?-mix:[\d]) scans token 1 as digit type at 1..3 given the pattern (?-mix:[\da-z]) scans token 1 as digit type at 1..3 given the pattern (?-mix:[\D]) scans token 1 as nondigit type at 1..3 given the pattern (?-mix:[\h]) scans token 1 as hex type at 1..3 given the pattern (?-mix:[\H]) scans token 1 as nonhex type at 1..3 given the pattern (?-mix:[\s]) scans token 1 as space type at 1..3 given the pattern (?-mix:[\S]) scans token 1 as nonspace type at 1..3 given the pattern (?-mix:[\w]) scans token 1 as word type at 1..3 given the pattern (?-mix:[\W]) scans token 1 as nonword type at 1..3 given the pattern (?-mix:[a-b]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[a-c]) scans token 2 as range set at 2..3 given the pattern (?-mix:[a-d]) scans token 3 as literal literal at 3..4 given the pattern (?-mix:[a-b-]) scans token 4 as literal literal at 4..5 given the pattern (?-mix:[-a]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[a-c^]) scans token 4 as literal literal at 4..5 given the pattern (?-mix:[a-bd-f]) scans token 2 as range set at 2..3 given the pattern (?-mix:[a-cd-f]) scans token 5 as range set at 5..6 given the pattern (?-mix:[a-[c]]) scans token 2 as range set at 2..3 given the pattern (?-mix:[[a]-[c]]) scans token 4 as literal literal at 4..5 given the pattern (?-mix:[[a]-c]) scans token 4 as literal literal at 4..5 given the pattern (?-mix:[^-c]) scans token 2 as literal literal at 2..3 given the pattern (?-mix:[a[:digit:]c]) scans token 2 as digit posixclass at 2..11 given the pattern (?-mix:[[:digit:][:space:]]) scans token 2 as space posixclass at 10..19 given the pattern (?-mix:[[:^digit:]]) scans token 1 as digit nonposixclass at 1..11 given the pattern (?-mix:[a-d&&g-h]) scans token 4 as intersection set at 4..6 given the pattern (?-mix:[a&&]) scans token 2 as intersection set at 2..4 given the pattern (?-mix:[&&z]) scans token 1 as intersection set at 1..3 given the pattern (?-mix:[&&]) scans token 1 as intersection set at 1..3 given the pattern (?-mix:[a\p{digit}c]) scans token 2 as digit property at 2..11 given the pattern (?-mix:[a\P{digit}c]) scans token 2 as digit nonproperty at 2..11 given the pattern (?-mix:[a\p{^digit}c]) scans token 2 as digit nonproperty at 2..12 given the pattern (?-mix:[a\P{^digit}c]) scans token 2 as digit property at 2..12 given the pattern (?-mix:[a\p{ALPHA}c]) scans token 2 as alpha property at 2..11 given the pattern (?-mix:[a\p{P}c]) scans token 2 as punctuation property at 2..7 given the pattern (?-mix:[a\p{P}\P{P}c]) scans token 3 as punctuation nonproperty at 7..12 given the pattern (?-mix:[\x20-\x27]) scans token 1 as hex escape at 1..5 scans token 2 as range set at 5..6 scans token 3 as hex escape at 6..10 given the pattern (?-mix:[a-w&&[^c-g]z]) scans token 5 as open set at 6..7 scans token 6 as negate set at 7..8 scans token 8 as range set at 9..10 scans token 10 as close set at 11..12 given the pattern [a[.a-b.]c] scans token 2 as open set at 2..3 scans token 3 as literal literal at 3..4 scans token 4 as literal literal at 4..5 given the pattern [a[=e=]c] scans token 2 as open set at 2..3 scans token 3 as literal literal at 3..4 scans token 4 as literal literal at 4..5 given the pattern (?-mix:[れます]) scans token 0 as open set at 0..1 scans token 1 as literal literal at 1..2 scans token 2 as literal literal at 2..3 scans token 3 as literal literal at 3..4 scans token 4 as close set at 4..5 Type scanning given the pattern a\dc scans token 1 as digit type at 1..3 given the pattern a\Dc scans token 1 as nondigit type at 1..3 given the pattern a\hc scans token 1 as hex type at 1..3 given the pattern a\Hc scans token 1 as nonhex type at 1..3 given the pattern a\sc scans token 1 as space type at 1..3 given the pattern a\Sc scans token 1 as nonspace type at 1..3 given the pattern a\wc scans token 1 as word type at 1..3 given the pattern a\Wc scans token 1 as nonword type at 1..3 given the pattern a\Rc scans token 1 as linebreak type at 1..3 given the pattern a\Xc scans token 1 as xgrapheme type at 1..3 Regexp::Syntax unknown name new new any not implemented supported? invalid version version class tiny version version class minor version raises for unknown constant lookups {:free_space=>[:comment, :whitespace], :literal=>[:literal], :anchor=>[:bol, :eol, :word_boundary, :nonword_boundary, :bos, :eos, :eos_ob_eol, :match_start], :assertion=>[:lookahead, :nlookahead, :lookbehind, :nlookbehind], :backref=>[:name_ref, :number, :number_ref, :number_rel_ref, :name_recursion_ref, :number_recursion_ref, :name_call, :number_call, :number_rel_call], :posixclass=>[:alnum, :alpha, :blank, :cntrl, :digit, :graph, :lower, :print, :punct, :space, :upper, :xdigit, :ascii, :word], :nonposixclass=>[:alnum, :alpha, :blank, :cntrl, :digit, :graph, :lower, :print, :punct, :space, :upper, :xdigit, :ascii, :word], :set=>[:open, :close, :negate, :range, :intersection], :type=>[:digit, :nondigit, :space, :nonspace, :word, :nonword, :hex, :nonhex, :linebreak, :xgrapheme], :conditional=>[:open, :close, :condition_open, :condition, :condition_close, :separator], :escape=>[:backslash, :literal, :control, :meta_sequence, :bell, :backspace, :escape, :form_feed, :newline, :carriage, :tab, :vertical_tab, :codepoint, :codepoint_list, :dot, :alternation, :zero_or_one, :zero_or_more, :one_or_more, :bol, :eol, :group_open, :group_close, :interval_open, :interval_close, :set_open, :set_close, :hex, :octal], :group=>[:capture, :close, :options, :options_switch, :named, :atomic, :passive, :comment, :absence], :keep=>[:mark], :meta=>[:dot, :alternation], :quantifier=>[:zero_or_one, :zero_or_more, :one_or_more, :zero_or_one_reluctant, :zero_or_more_reluctant, :one_or_more_reluctant, :zero_or_one_possessive, :zero_or_more_possessive, :one_or_more_possessive, :interval, :interval_reluctant, :interval_possessive], :property=>[:ahom, :anatolian_hieroglyphs, :hatran, :multani, :old_hungarian, :signwriting, :in_ahom, :in_anatolian_hieroglyphs, :in_cjk_unified_ideographs_extension_e, :in_cherokee_supplement, :in_early_dynastic_cuneiform, :in_hatran, :in_multani, :in_old_hungarian, :in_supplemental_symbols_and_pictographs, :in_sutton_signwriting, :"age=8.0", :prepended_concatenation_mark, :adlam, :bhaiksuki, :marchen, :newa, :osage, :tangut, :in_adlam, :in_bhaiksuki, :in_cyrillic_extended_c, :in_glagolitic_supplement, :in_ideographic_symbols_and_punctuation, :in_marchen, :in_mongolian_supplement, :in_newa, :in_osage, :in_tangut, :in_tangut_components, :"age=9.0", :xposixpunct, :regional_indicator, :masaram_gondi, :nushu, :soyombo, :zanabazar_square, :"age=10.0", :in_cjk_unified_ideographs_extension_f, :in_kana_extended_a, :in_masaram_gondi, :in_nushu, :in_soyombo, :in_syriac_supplement, :in_zanabazar_square, :emoji, :emoji_component, :emoji_modifier, :emoji_modifier_base, :emoji_presentation, :dogra, :gunjala_gondi, :hanifi_rohingya, :makasar, :medefaidrin, :old_sogdian, :sogdian, :"age=11.0", :in_chess_symbols, :in_dogra, :in_georgian_extended, :in_gunjala_gondi, :in_hanifi_rohingya, :in_indic_siyaq_numbers, :in_makasar, :in_mayan_numerals, :in_medefaidrin, :in_old_sogdian, :in_sogdian, :egyptian_hieroglyph_format_controls, :elymaic, :nandinagari, :nyiakeng_puachue_hmong, :ottoman_siyaq_numbers, :small_kana_extension, :symbols_and_pictographs_extended_a, :tamil_supplement, :wancho, :"age=12.0", :in_egyptian_hieroglyph_format_controls, :in_elymaic, :in_nandinagari, :in_nyiakeng_puachue_hmong, :in_ottoman_siyaq_numbers, :in_small_kana_extension, :in_symbols_and_pictographs_extended_a, :in_tamil_supplement, :in_wancho, :"age=12.1", :letter, :uppercase_letter, :lowercase_letter, :titlecase_letter, :modifier_letter, :other_letter, :mark, :nonspacing_mark, :spacing_mark, :enclosing_mark, :number, :decimal_number, :letter_number, :other_number, :punctuation, :connector_punctuation, :dash_punctuation, :open_punctuation, :close_punctuation, :initial_punctuation, :final_punctuation, :other_punctuation, :symbol, :math_symbol, :currency_symbol, :modifier_symbol, :other_symbol, :separator, :space_separator, :line_separator, :paragraph_separator, :other, :control, :format, :surrogate, :private_use, :unassigned, :any, :assigned, :newline, :alnum, :alpha, :ascii, :blank, :cntrl, :digit, :graph, :lower, :print, :punct, :space, :upper, :word, :xdigit, :arabic, :imperial_aramaic, :armenian, :avestan, :balinese, :bamum, :bengali, :bopomofo, :braille, :buginese, :buhid, :canadian_aboriginal, :carian, :cham, :cherokee, :coptic, :cypriot, :cyrillic, :devanagari, :deseret, :egyptian_hieroglyphs, :ethiopic, :georgian, :glagolitic, :gothic, :greek, :gujarati, :gurmukhi, :hangul, :han, :hanunoo, :hebrew, :hiragana, :old_italic, :javanese, :kayah_li, :katakana, :kharoshthi, :khmer, :kannada, :kaithi, :tai_tham, :lao, :latin, :lepcha, :limbu, :linear_b, :lisu, :lycian, :lydian, :malayalam, :mongolian, :meetei_mayek, :myanmar, :nko, :ogham, :ol_chiki, :old_turkic, :oriya, :osmanya, :phags_pa, :inscriptional_pahlavi, :phoenician, :inscriptional_parthian, :rejang, :runic, :samaritan, :old_south_arabian, :saurashtra, :shavian, :sinhala, :sundanese, :syloti_nagri, :syriac, :tagbanwa, :tai_le, :new_tai_lue, :tamil, :tai_viet, :telugu, :tifinagh, :tagalog, :thaana, :thai, :tibetan, :ugaritic, :vai, :old_persian, :cuneiform, :yi, :inherited, :common, :unknown, :ascii_hex_digit, :alphabetic, :cased, :changes_when_casefolded, :changes_when_casemapped, :changes_when_lowercased, :changes_when_titlecased, :changes_when_uppercased, :case_ignorable, :bidi_control, :dash, :deprecated, :default_ignorable_code_point, :diacritic, :extender, :grapheme_base, :grapheme_extend, :grapheme_link, :hex_digit, :hyphen, :id_continue, :ideographic, :id_start, :ids_binary_operator, :ids_trinary_operator, :join_control, :logical_order_exception, :lowercase, :math, :noncharacter_code_point, :other_alphabetic, :other_default_ignorable_code_point, :other_grapheme_extend, :other_id_continue, :other_id_start, :other_lowercase, :other_math, :other_uppercase, :pattern_syntax, :pattern_white_space, :quotation_mark, :radical, :sentence_terminal, :soft_dotted, :terminal_punctuation, :unified_ideograph, :uppercase, :variation_selector, :white_space, :xid_start, :xid_continue, :in_alphabetic_presentation_forms, :in_arabic, :in_armenian, :in_arrows, :in_basic_latin, :in_bengali, :in_block_elements, :in_bopomofo_extended, :in_bopomofo, :in_box_drawing, :in_braille_patterns, :in_buhid, :in_cjk_compatibility_forms, :in_cjk_compatibility_ideographs, :in_cjk_compatibility, :in_cjk_radicals_supplement, :in_cjk_symbols_and_punctuation, :in_cjk_unified_ideographs_extension_a, :in_cjk_unified_ideographs, :in_cherokee, :in_combining_diacritical_marks_for_symbols, :in_combining_diacritical_marks, :in_combining_half_marks, :in_control_pictures, :in_currency_symbols, :in_cyrillic_supplement, :in_cyrillic, :in_devanagari, :in_dingbats, :in_enclosed_alphanumerics, :in_enclosed_cjk_letters_and_months, :in_ethiopic, :in_general_punctuation, :in_geometric_shapes, :in_georgian, :in_greek_extended, :in_greek_and_coptic, :in_gujarati, :in_gurmukhi, :in_halfwidth_and_fullwidth_forms, :in_hangul_compatibility_jamo, :in_hangul_jamo, :in_hangul_syllables, :in_hanunoo, :in_hebrew, :in_high_private_use_surrogates, :in_high_surrogates, :in_hiragana, :in_ipa_extensions, :in_ideographic_description_characters, :in_kanbun, :in_kangxi_radicals, :in_kannada, :in_katakana_phonetic_extensions, :in_katakana, :in_khmer_symbols, :in_khmer, :in_lao, :in_latin_extended_additional, :in_letterlike_symbols, :in_limbu, :in_low_surrogates, :in_malayalam, :in_mathematical_operators, :in_miscellaneous_symbols_and_arrows, :in_miscellaneous_symbols, :in_miscellaneous_technical, :in_mongolian, :in_myanmar, :in_number_forms, :in_ogham, :in_optical_character_recognition, :in_oriya, :in_phonetic_extensions, :in_private_use_area, :in_runic, :in_sinhala, :in_small_form_variants, :in_spacing_modifier_letters, :in_specials, :in_superscripts_and_subscripts, :in_supplemental_mathematical_operators, :in_syriac, :in_tagalog, :in_tagbanwa, :in_tai_le, :in_tamil, :in_telugu, :in_thaana, :in_thai, :in_tibetan, :in_unified_canadian_aboriginal_syllabics, :in_variation_selectors, :in_yi_radicals, :in_yi_syllables, :in_yijing_hexagram_symbols, :brahmi, :batak, :mandaic, :"age=1.1", :"age=2.0", :"age=2.1", :"age=3.0", :"age=3.1", :"age=3.2", :"age=4.0", :"age=4.1", :"age=5.0", :"age=5.1", :"age=5.2", :"age=6.0", :"age=6.1", :cased_letter, :combining_mark, :in_aegean_numbers, :in_alchemical_symbols, :in_ancient_greek_musical_notation, :in_ancient_greek_numbers, :in_ancient_symbols, :in_arabic_extended_a, :in_arabic_mathematical_alphabetic_symbols, :in_arabic_presentation_forms_a, :in_arabic_presentation_forms_b, :in_arabic_supplement, :in_avestan, :in_balinese, :in_bamum, :in_bamum_supplement, :in_batak, :in_brahmi, :in_buginese, :in_byzantine_musical_symbols, :in_cjk_compatibility_ideographs_supplement, :in_cjk_strokes, :in_cjk_unified_ideographs_extension_b, :in_cjk_unified_ideographs_extension_c, :in_cjk_unified_ideographs_extension_d, :in_carian, :in_chakma, :in_cham, :in_combining_diacritical_marks_supplement, :in_common_indic_number_forms, :in_coptic, :in_counting_rod_numerals, :in_cuneiform, :in_cuneiform_numbers_and_punctuation, :in_cypriot_syllabary, :in_cyrillic_extended_a, :in_cyrillic_extended_b, :in_deseret, :in_devanagari_extended, :in_domino_tiles, :in_egyptian_hieroglyphs, :in_emoticons, :in_enclosed_alphanumeric_supplement, :in_enclosed_ideographic_supplement, :in_ethiopic_extended, :in_ethiopic_extended_a, :in_ethiopic_supplement, :in_georgian_supplement, :in_glagolitic, :in_gothic, :in_hangul_jamo_extended_a, :in_hangul_jamo_extended_b, :in_imperial_aramaic, :in_inscriptional_pahlavi, :in_inscriptional_parthian, :in_javanese, :in_kaithi, :in_kana_supplement, :in_kayah_li, :in_kharoshthi, :in_latin_1_supplement, :in_latin_extended_a, :in_latin_extended_b, :in_latin_extended_c, :in_latin_extended_d, :in_lepcha, :in_linear_b_ideograms, :in_linear_b_syllabary, :in_lisu, :in_lycian, :in_lydian, :in_mahjong_tiles, :in_mandaic, :in_mathematical_alphanumeric_symbols, :in_meetei_mayek, :in_meetei_mayek_extensions, :in_meroitic_cursive, :in_meroitic_hieroglyphs, :in_miao, :in_miscellaneous_mathematical_symbols_a, :in_miscellaneous_mathematical_symbols_b, :in_miscellaneous_symbols_and_pictographs, :in_modifier_tone_letters, :in_musical_symbols, :in_myanmar_extended_a, :in_nko, :in_new_tai_lue, :in_no_block, :in_ol_chiki, :in_old_italic, :in_old_persian, :in_old_south_arabian, :in_old_turkic, :in_osmanya, :in_phags_pa, :in_phaistos_disc, :in_phoenician, :in_phonetic_extensions_supplement, :in_playing_cards, :in_rejang, :in_rumi_numeral_symbols, :in_samaritan, :in_saurashtra, :in_sharada, :in_shavian, :in_sora_sompeng, :in_sundanese, :in_sundanese_supplement, :in_supplemental_arrows_a, :in_supplemental_arrows_b, :in_supplemental_punctuation, :in_supplementary_private_use_area_a, :in_supplementary_private_use_area_b, :in_syloti_nagri, :in_tags, :in_tai_tham, :in_tai_viet, :in_tai_xuan_jing_symbols, :in_takri, :in_tifinagh, :in_transport_and_map_symbols, :in_ugaritic, :in_unified_canadian_aboriginal_syllabics_extended, :in_vai, :in_variation_selectors_supplement, :in_vedic_extensions, :in_vertical_forms, :chakma, :meroitic_cursive, :meroitic_hieroglyphs, :miao, :sharada, :sora_sompeng, :takri, :"age=6.2", :"age=6.3", :"age=7.0", :in_bassa_vah, :in_caucasian_albanian, :in_combining_diacritical_marks_extended, :in_coptic_epact_numbers, :in_duployan, :in_elbasan, :in_geometric_shapes_extended, :in_grantha, :in_khojki, :in_khudawadi, :in_latin_extended_e, :in_linear_a, :in_mahajani, :in_manichaean, :in_mende_kikakui, :in_modi, :in_mro, :in_myanmar_extended_b, :in_nabataean, :in_old_north_arabian, :in_old_permic, :in_ornamental_dingbats, :in_pahawh_hmong, :in_palmyrene, :in_pau_cin_hau, :in_psalter_pahlavi, :in_shorthand_format_controls, :in_siddham, :in_sinhala_archaic_numbers, :in_supplemental_arrows_c, :in_tirhuta, :in_warang_citi, :caucasian_albanian, :bassa_vah, :duployan, :elbasan, :grantha, :pahawh_hmong, :khojki, :linear_a, :mahajani, :manichaean, :mende_kikakui, :modi, :mro, :old_north_arabian, :nabataean, :palmyrene, :pau_cin_hau, :old_permic, :psalter_pahlavi, :siddham, :khudawadi, :tirhuta, :warang_citi], :nonproperty=>[:ahom, :anatolian_hieroglyphs, :hatran, :multani, :old_hungarian, :signwriting, :in_ahom, :in_anatolian_hieroglyphs, :in_cjk_unified_ideographs_extension_e, :in_cherokee_supplement, :in_early_dynastic_cuneiform, :in_hatran, :in_multani, :in_old_hungarian, :in_supplemental_symbols_and_pictographs, :in_sutton_signwriting, :"age=8.0", :prepended_concatenation_mark, :adlam, :bhaiksuki, :marchen, :newa, :osage, :tangut, :in_adlam, :in_bhaiksuki, :in_cyrillic_extended_c, :in_glagolitic_supplement, :in_ideographic_symbols_and_punctuation, :in_marchen, :in_mongolian_supplement, :in_newa, :in_osage, :in_tangut, :in_tangut_components, :"age=9.0", :xposixpunct, :regional_indicator, :masaram_gondi, :nushu, :soyombo, :zanabazar_square, :"age=10.0", :in_cjk_unified_ideographs_extension_f, :in_kana_extended_a, :in_masaram_gondi, :in_nushu, :in_soyombo, :in_syriac_supplement, :in_zanabazar_square, :emoji, :emoji_component, :emoji_modifier, :emoji_modifier_base, :emoji_presentation, :dogra, :gunjala_gondi, :hanifi_rohingya, :makasar, :medefaidrin, :old_sogdian, :sogdian, :"age=11.0", :in_chess_symbols, :in_dogra, :in_georgian_extended, :in_gunjala_gondi, :in_hanifi_rohingya, :in_indic_siyaq_numbers, :in_makasar, :in_mayan_numerals, :in_medefaidrin, :in_old_sogdian, :in_sogdian, :egyptian_hieroglyph_format_controls, :elymaic, :nandinagari, :nyiakeng_puachue_hmong, :ottoman_siyaq_numbers, :small_kana_extension, :symbols_and_pictographs_extended_a, :tamil_supplement, :wancho, :"age=12.0", :in_egyptian_hieroglyph_format_controls, :in_elymaic, :in_nandinagari, :in_nyiakeng_puachue_hmong, :in_ottoman_siyaq_numbers, :in_small_kana_extension, :in_symbols_and_pictographs_extended_a, :in_tamil_supplement, :in_wancho, :"age=12.1", :letter, :uppercase_letter, :lowercase_letter, :titlecase_letter, :modifier_letter, :other_letter, :mark, :nonspacing_mark, :spacing_mark, :enclosing_mark, :number, :decimal_number, :letter_number, :other_number, :punctuation, :connector_punctuation, :dash_punctuation, :open_punctuation, :close_punctuation, :initial_punctuation, :final_punctuation, :other_punctuation, :symbol, :math_symbol, :currency_symbol, :modifier_symbol, :other_symbol, :separator, :space_separator, :line_separator, :paragraph_separator, :other, :control, :format, :surrogate, :private_use, :unassigned, :any, :assigned, :newline, :alnum, :alpha, :ascii, :blank, :cntrl, :digit, :graph, :lower, :print, :punct, :space, :upper, :word, :xdigit, :arabic, :imperial_aramaic, :armenian, :avestan, :balinese, :bamum, :bengali, :bopomofo, :braille, :buginese, :buhid, :canadian_aboriginal, :carian, :cham, :cherokee, :coptic, :cypriot, :cyrillic, :devanagari, :deseret, :egyptian_hieroglyphs, :ethiopic, :georgian, :glagolitic, :gothic, :greek, :gujarati, :gurmukhi, :hangul, :han, :hanunoo, :hebrew, :hiragana, :old_italic, :javanese, :kayah_li, :katakana, :kharoshthi, :khmer, :kannada, :kaithi, :tai_tham, :lao, :latin, :lepcha, :limbu, :linear_b, :lisu, :lycian, :lydian, :malayalam, :mongolian, :meetei_mayek, :myanmar, :nko, :ogham, :ol_chiki, :old_turkic, :oriya, :osmanya, :phags_pa, :inscriptional_pahlavi, :phoenician, :inscriptional_parthian, :rejang, :runic, :samaritan, :old_south_arabian, :saurashtra, :shavian, :sinhala, :sundanese, :syloti_nagri, :syriac, :tagbanwa, :tai_le, :new_tai_lue, :tamil, :tai_viet, :telugu, :tifinagh, :tagalog, :thaana, :thai, :tibetan, :ugaritic, :vai, :old_persian, :cuneiform, :yi, :inherited, :common, :unknown, :ascii_hex_digit, :alphabetic, :cased, :changes_when_casefolded, :changes_when_casemapped, :changes_when_lowercased, :changes_when_titlecased, :changes_when_uppercased, :case_ignorable, :bidi_control, :dash, :deprecated, :default_ignorable_code_point, :diacritic, :extender, :grapheme_base, :grapheme_extend, :grapheme_link, :hex_digit, :hyphen, :id_continue, :ideographic, :id_start, :ids_binary_operator, :ids_trinary_operator, :join_control, :logical_order_exception, :lowercase, :math, :noncharacter_code_point, :other_alphabetic, :other_default_ignorable_code_point, :other_grapheme_extend, :other_id_continue, :other_id_start, :other_lowercase, :other_math, :other_uppercase, :pattern_syntax, :pattern_white_space, :quotation_mark, :radical, :sentence_terminal, :soft_dotted, :terminal_punctuation, :unified_ideograph, :uppercase, :variation_selector, :white_space, :xid_start, :xid_continue, :in_alphabetic_presentation_forms, :in_arabic, :in_armenian, :in_arrows, :in_basic_latin, :in_bengali, :in_block_elements, :in_bopomofo_extended, :in_bopomofo, :in_box_drawing, :in_braille_patterns, :in_buhid, :in_cjk_compatibility_forms, :in_cjk_compatibility_ideographs, :in_cjk_compatibility, :in_cjk_radicals_supplement, :in_cjk_symbols_and_punctuation, :in_cjk_unified_ideographs_extension_a, :in_cjk_unified_ideographs, :in_cherokee, :in_combining_diacritical_marks_for_symbols, :in_combining_diacritical_marks, :in_combining_half_marks, :in_control_pictures, :in_currency_symbols, :in_cyrillic_supplement, :in_cyrillic, :in_devanagari, :in_dingbats, :in_enclosed_alphanumerics, :in_enclosed_cjk_letters_and_months, :in_ethiopic, :in_general_punctuation, :in_geometric_shapes, :in_georgian, :in_greek_extended, :in_greek_and_coptic, :in_gujarati, :in_gurmukhi, :in_halfwidth_and_fullwidth_forms, :in_hangul_compatibility_jamo, :in_hangul_jamo, :in_hangul_syllables, :in_hanunoo, :in_hebrew, :in_high_private_use_surrogates, :in_high_surrogates, :in_hiragana, :in_ipa_extensions, :in_ideographic_description_characters, :in_kanbun, :in_kangxi_radicals, :in_kannada, :in_katakana_phonetic_extensions, :in_katakana, :in_khmer_symbols, :in_khmer, :in_lao, :in_latin_extended_additional, :in_letterlike_symbols, :in_limbu, :in_low_surrogates, :in_malayalam, :in_mathematical_operators, :in_miscellaneous_symbols_and_arrows, :in_miscellaneous_symbols, :in_miscellaneous_technical, :in_mongolian, :in_myanmar, :in_number_forms, :in_ogham, :in_optical_character_recognition, :in_oriya, :in_phonetic_extensions, :in_private_use_area, :in_runic, :in_sinhala, :in_small_form_variants, :in_spacing_modifier_letters, :in_specials, :in_superscripts_and_subscripts, :in_supplemental_mathematical_operators, :in_syriac, :in_tagalog, :in_tagbanwa, :in_tai_le, :in_tamil, :in_telugu, :in_thaana, :in_thai, :in_tibetan, :in_unified_canadian_aboriginal_syllabics, :in_variation_selectors, :in_yi_radicals, :in_yi_syllables, :in_yijing_hexagram_symbols, :brahmi, :batak, :mandaic, :"age=1.1", :"age=2.0", :"age=2.1", :"age=3.0", :"age=3.1", :"age=3.2", :"age=4.0", :"age=4.1", :"age=5.0", :"age=5.1", :"age=5.2", :"age=6.0", :"age=6.1", :cased_letter, :combining_mark, :in_aegean_numbers, :in_alchemical_symbols, :in_ancient_greek_musical_notation, :in_ancient_greek_numbers, :in_ancient_symbols, :in_arabic_extended_a, :in_arabic_mathematical_alphabetic_symbols, :in_arabic_presentation_forms_a, :in_arabic_presentation_forms_b, :in_arabic_supplement, :in_avestan, :in_balinese, :in_bamum, :in_bamum_supplement, :in_batak, :in_brahmi, :in_buginese, :in_byzantine_musical_symbols, :in_cjk_compatibility_ideographs_supplement, :in_cjk_strokes, :in_cjk_unified_ideographs_extension_b, :in_cjk_unified_ideographs_extension_c, :in_cjk_unified_ideographs_extension_d, :in_carian, :in_chakma, :in_cham, :in_combining_diacritical_marks_supplement, :in_common_indic_number_forms, :in_coptic, :in_counting_rod_numerals, :in_cuneiform, :in_cuneiform_numbers_and_punctuation, :in_cypriot_syllabary, :in_cyrillic_extended_a, :in_cyrillic_extended_b, :in_deseret, :in_devanagari_extended, :in_domino_tiles, :in_egyptian_hieroglyphs, :in_emoticons, :in_enclosed_alphanumeric_supplement, :in_enclosed_ideographic_supplement, :in_ethiopic_extended, :in_ethiopic_extended_a, :in_ethiopic_supplement, :in_georgian_supplement, :in_glagolitic, :in_gothic, :in_hangul_jamo_extended_a, :in_hangul_jamo_extended_b, :in_imperial_aramaic, :in_inscriptional_pahlavi, :in_inscriptional_parthian, :in_javanese, :in_kaithi, :in_kana_supplement, :in_kayah_li, :in_kharoshthi, :in_latin_1_supplement, :in_latin_extended_a, :in_latin_extended_b, :in_latin_extended_c, :in_latin_extended_d, :in_lepcha, :in_linear_b_ideograms, :in_linear_b_syllabary, :in_lisu, :in_lycian, :in_lydian, :in_mahjong_tiles, :in_mandaic, :in_mathematical_alphanumeric_symbols, :in_meetei_mayek, :in_meetei_mayek_extensions, :in_meroitic_cursive, :in_meroitic_hieroglyphs, :in_miao, :in_miscellaneous_mathematical_symbols_a, :in_miscellaneous_mathematical_symbols_b, :in_miscellaneous_symbols_and_pictographs, :in_modifier_tone_letters, :in_musical_symbols, :in_myanmar_extended_a, :in_nko, :in_new_tai_lue, :in_no_block, :in_ol_chiki, :in_old_italic, :in_old_persian, :in_old_south_arabian, :in_old_turkic, :in_osmanya, :in_phags_pa, :in_phaistos_disc, :in_phoenician, :in_phonetic_extensions_supplement, :in_playing_cards, :in_rejang, :in_rumi_numeral_symbols, :in_samaritan, :in_saurashtra, :in_sharada, :in_shavian, :in_sora_sompeng, :in_sundanese, :in_sundanese_supplement, :in_supplemental_arrows_a, :in_supplemental_arrows_b, :in_supplemental_punctuation, :in_supplementary_private_use_area_a, :in_supplementary_private_use_area_b, :in_syloti_nagri, :in_tags, :in_tai_tham, :in_tai_viet, :in_tai_xuan_jing_symbols, :in_takri, :in_tifinagh, :in_transport_and_map_symbols, :in_ugaritic, :in_unified_canadian_aboriginal_syllabics_extended, :in_vai, :in_variation_selectors_supplement, :in_vedic_extensions, :in_vertical_forms, :chakma, :meroitic_cursive, :meroitic_hieroglyphs, :miao, :sharada, :sora_sompeng, :takri, :"age=6.2", :"age=6.3", :"age=7.0", :in_bassa_vah, :in_caucasian_albanian, :in_combining_diacritical_marks_extended, :in_coptic_epact_numbers, :in_duployan, :in_elbasan, :in_geometric_shapes_extended, :in_grantha, :in_khojki, :in_khudawadi, :in_latin_extended_e, :in_linear_a, :in_mahajani, :in_manichaean, :in_mende_kikakui, :in_modi, :in_mro, :in_myanmar_extended_b, :in_nabataean, :in_old_north_arabian, :in_old_permic, :in_ornamental_dingbats, :in_pahawh_hmong, :in_palmyrene, :in_pau_cin_hau, :in_psalter_pahlavi, :in_shorthand_format_controls, :in_siddham, :in_sinhala_archaic_numbers, :in_supplemental_arrows_c, :in_tirhuta, :in_warang_citi, :caucasian_albanian, :bassa_vah, :duployan, :elbasan, :grantha, :pahawh_hmong, :khojki, :linear_a, :mahajani, :manichaean, :mende_kikakui, :modi, :mro, :old_north_arabian, :nabataean, :palmyrene, :pau_cin_hau, :old_permic, :psalter_pahlavi, :siddham, :khudawadi, :tirhuta, :warang_citi]} is complete contains no duplicate type/token combinations Regexp::Syntax::V1_8_6 implements lookahead assertion implements nlookahead assertion implements number backref implements backslash escape implements literal escape implements bell escape implements backspace escape implements escape escape implements form_feed escape implements newline escape implements carriage escape implements tab escape implements vertical_tab escape implements dot escape implements alternation escape implements zero_or_one escape implements zero_or_more escape implements one_or_more escape implements bol escape implements eol escape implements group_open escape implements group_close escape implements interval_open escape implements interval_close escape implements set_open escape implements set_close escape implements control escape implements meta_sequence escape implements capture group implements close group implements options group implements options_switch group implements named group implements atomic group implements passive group implements comment group implements zero_or_one quantifier implements zero_or_more quantifier implements one_or_more quantifier implements zero_or_one_reluctant quantifier implements zero_or_more_reluctant quantifier implements one_or_more_reluctant quantifier implements interval quantifier implements interval_reluctant quantifier does not implement lookbehind assertion does not implement nlookbehind assertion does not implement name_ref backref does not implement number_ref backref does not implement number_rel_ref backref does not implement name_recursion_ref backref does not implement number_recursion_ref backref does not implement name_call backref does not implement number_call backref does not implement number_rel_call backref does not implement zero_or_one_possessive quantifier does not implement zero_or_more_possessive quantifier does not implement one_or_more_possessive quantifier Regexp::Syntax::V1_9_1 implements hex escape implements octal escape implements codepoint escape implements codepoint_list escape implements hex type implements nonhex type implements zero_or_one quantifier implements zero_or_more quantifier implements one_or_more quantifier implements zero_or_one_reluctant quantifier implements zero_or_more_reluctant quantifier implements one_or_more_reluctant quantifier implements zero_or_one_possessive quantifier implements zero_or_more_possessive quantifier implements one_or_more_possessive quantifier Regexp::Syntax::V1_9_3 implements brahmi property implements batak property implements mandaic property implements age=1.1 property implements age=2.0 property implements age=2.1 property implements age=3.0 property implements age=3.1 property implements age=3.2 property implements age=4.0 property implements age=4.1 property implements age=5.0 property implements age=5.1 property implements age=5.2 property implements age=6.0 property implements brahmi nonproperty implements batak nonproperty implements mandaic nonproperty implements age=1.1 nonproperty implements age=2.0 nonproperty implements age=2.1 nonproperty implements age=3.0 nonproperty implements age=3.1 nonproperty implements age=3.2 nonproperty implements age=4.0 nonproperty implements age=4.1 nonproperty implements age=5.0 nonproperty implements age=5.1 nonproperty implements age=5.2 nonproperty implements age=6.0 nonproperty Regexp::Syntax::V2_0_0 implements age=6.1 property implements age=6.1 nonproperty does not implement newline property does not implement newline nonproperty Regexp::Syntax::V2_2_0 implements caucasian_albanian property implements bassa_vah property implements duployan property implements elbasan property implements grantha property implements pahawh_hmong property implements khojki property implements linear_a property implements mahajani property implements manichaean property implements mende_kikakui property implements modi property implements mro property implements old_north_arabian property implements nabataean property implements palmyrene property implements pau_cin_hau property implements old_permic property implements psalter_pahlavi property implements siddham property implements khudawadi property implements tirhuta property implements warang_citi property implements age=6.2 property implements age=6.3 property implements age=7.0 property implements caucasian_albanian nonproperty implements bassa_vah nonproperty implements duployan nonproperty implements elbasan nonproperty implements grantha nonproperty implements pahawh_hmong nonproperty implements khojki nonproperty implements linear_a nonproperty implements mahajani nonproperty implements manichaean nonproperty implements mende_kikakui nonproperty implements modi nonproperty implements mro nonproperty implements old_north_arabian nonproperty implements nabataean nonproperty implements palmyrene nonproperty implements pau_cin_hau nonproperty implements old_permic nonproperty implements psalter_pahlavi nonproperty implements siddham nonproperty implements khudawadi nonproperty implements tirhuta nonproperty implements warang_citi nonproperty implements age=6.2 nonproperty implements age=6.3 nonproperty implements age=7.0 nonproperty Regexp::Syntax aliases ruby/1.8.6 to Regexp::Syntax::V1_8_6 aliases ruby/1.8 to Regexp::Syntax::V1_8_6 aliases ruby/1.9.1 to Regexp::Syntax::V1_9_1 aliases ruby/1.9 to Regexp::Syntax::V1_9_3 aliases ruby/2.0.0 to Regexp::Syntax::V1_9 aliases ruby/2.0 to Regexp::Syntax::V2_0_0 aliases ruby/2.1 to Regexp::Syntax::V2_0_0 aliases ruby/2.2.0 to Regexp::Syntax::V2_0_0 aliases ruby/2.2.10 to Regexp::Syntax::V2_0_0 aliases ruby/2.2 to Regexp::Syntax::V2_0_0 aliases ruby/2.3.0 to Regexp::Syntax::V2_3_0 aliases ruby/2.3 to Regexp::Syntax::V2_3_0 aliases ruby/2.4.0 to Regexp::Syntax::V2_4_0 aliases ruby/2.4.1 to Regexp::Syntax::V2_4_1 aliases ruby/2.5.0 to Regexp::Syntax::V2_4_1 aliases ruby/2.5 to Regexp::Syntax::V2_5_0 aliases ruby/2.6.0 to Regexp::Syntax::V2_5_0 aliases ruby/2.6.2 to Regexp::Syntax::V2_6_2 aliases ruby/2.6.3 to Regexp::Syntax::V2_6_3 aliases ruby/2.6 to Regexp::Syntax::V2_6_3 future alias warning Regexp::Token #offset #length #to_h #next #previous Finished in 1.3 seconds (files took 1.3 seconds to load) 1561 examples, 0 failures /usr/bin/ruby3.0 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Checking Rubygems dependency resolution on ruby3.0 │ └──────────────────────────────────────────────────────────────────────────────┘ GEM_PATH=/build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all:/build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.0.0:/var/lib/gems/3.0.0:/usr/local/lib/ruby/gems/3.0.0:/usr/lib/ruby/gems/3.0.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.0.0:/usr/share/rubygems-integration/3.0.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0 ruby3.0 -e gem\ \"regexp_parser\" ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby3.0 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/ruby-regexp-parser/usr/share/rubygems-integration/all:/build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.0.0:/var/lib/gems/3.0.0:/usr/local/lib/ruby/gems/3.0.0:/usr/lib/ruby/gems/3.0.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.0.0:/usr/share/rubygems-integration/3.0.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0 ruby3.0 -S rake -f debian/ruby-tests.rake /usr/bin/ruby3.0 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.10.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation Regexp::Expression::Base #to_re #level #terminal? alt #terminal? #coded_offset #quantity #repetitions #base_length #full_length Expression#clone Base#clone Subexpression#clone Group::Named#clone Group::Options#clone Backreference::Base#clone Sequence#clone Base#unquantified_clone produces a clone does not carry over the callee quantifier keeps quantifiers of callee children Regexp::Expression::Conditional root level level one level two level three Regexp::Expression::FreeSpace white space quantify raises error comment quantify raises error Regexp::MatchLength literal literal sequence dot set type escape property codepoint list multi-char literal fixed quantified range quantified nested quantified open-end quantified empty subexpression anchor lookaround free space comment backreference subexp call alternation nested alternation quantified alternation absence group raises for missing references ::of works with Regexps works with Strings works with Expressions Expression#match_length returns the MatchLength Expression#inner_match_length returns the MatchLength of an expression that does not count towards parent match_length #include? unquantified fixed quantified variably quantified nested quantified branches called on leaf node #fixed? unquantified fixed quantified variably quantified equal branches unequal branches equal quantified branches unequal quantified branches empty #each returns an Enumerator if called without a block is aware of limit option even if called without a block is limited to 1000 iterations in case there are infinite match lengths scaffolds the Enumerable interface #endless_each returns an Enumerator if called without a block never stops iterating for infinite match lengths #inspect is nice Expression#match returns the #match result of the respective Regexp can be given an offset, just like Regexp#match works with the #=~ alias Expression#match? returns true if the Respective Regexp matches returns false if the Respective Regexp does not match Expression#strfregexp #strfre alias #strfregexp level #strfregexp start end #strfregexp length #strfregexp coded offset #strfregexp type token #strfregexp quantifier #strfregexp text #strfregexp combined #strfregexp conditional #strfregexp_tree #strfregexp_tree separator #strfregexp_tree excluding self ExpressionTests #type? #is? #one_of? Subexpression#traverse Subexpression#traverse Subexpression#traverse including self Subexpression#traverse without a block Subexpression#walk alias Subexpression#each_expression Subexpression#each_expression including self Subexpression#each_expression indices Subexpression#each_expression indices including self Subexpression#each_expression without a block Subexpression#flat_map without block Subexpression#flat_map without block including self Subexpression#flat_map indices Subexpression#flat_map indices including self Subexpression#flat_map expressions Subexpression#flat_map expressions including self Expression#options returns a hash of options/flags that affect the expression includes options that are locally enabled via special groups excludes locally disabled options gives correct precedence to negative options correctly handles multiple negative option parts gives correct precedence when encountering multiple encoding flags is accessible via shortcuts works for expression class Regexp::Expression::Root works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::Anchor::Base works for expression class Regexp::Expression::CharacterType::Base works for expression class Regexp::Expression::EscapeSequence::Base works for expression class Regexp::Expression::Keep::Mark works for expression class Regexp::Expression::CharacterType::Any works for expression class Regexp::Expression::Group::Base works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::Assertion::Base works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::Group::Base works for expression class Regexp::Expression::Alternation works for expression class Regexp::Expression::Alternative works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::Backreference::Base works for expression class Regexp::Expression::Backreference::Number works for expression class Regexp::Expression::Backreference::NumberCall works for expression class Regexp::Expression::CharacterSet works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::CharacterSet::Range works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::CharacterSet::Intersection works for expression class Regexp::Expression::CharacterSet::IntersectedSequence works for expression class Regexp::Expression::Literal works for expression class Regexp::Expression::PosixClass works for expression class Regexp::Expression::UnicodeProperty::Base works for expression class Regexp::Expression::Conditional::Expression works for expression class Regexp::Expression::Conditional::Condition works for expression class Regexp::Expression::Conditional::Branch works for expression class Regexp::Expression::Literal Regexp::Expression::Subexpression #ts, #te #nesting_level #dig Expression#to_h Root#to_h Quantifier#to_h Conditional#to_h Expression#to_s literal alternation quantified alternations quantified sets property sets groups assertions comments options url multiline source multiline #to_s multiline equivalence chained quantifiers #to_s non-ascii comment Regexp::Lexer lexer returns an array lexer returns tokens lexer token count lexer scan alias Conditional lexing given the pattern (?-mix:(?a)(?()b|c)) lexes token 3 as open conditional at 0, 0, 0 lexes token 4 as condition conditional at 0, 0, 1 lexes token 6 as separator conditional at 0, 0, 1 lexes token 8 as close conditional at 0, 0, 0 given the pattern (?-mix:((?a)(?(?()b|((?()[e-g]|[h-j])))))) lexes token 0 as capture group at 0, 0, 0 lexes token 1 as named group at 1, 0, 0 lexes token 5 as open conditional at 2, 0, 0 lexes token 6 as condition conditional at 2, 0, 1 lexes token 8 as separator conditional at 2, 0, 1 lexes token 10 as open conditional at 3, 0, 1 lexes token 11 as condition conditional at 3, 0, 2 lexes token 12 as open set at 3, 0, 2 lexes token 13 as literal literal at 3, 1, 2 lexes token 14 as range set at 3, 1, 2 lexes token 15 as literal literal at 3, 1, 2 lexes token 16 as close set at 3, 0, 2 lexes token 17 as separator conditional at 3, 0, 2 lexes token 23 as close conditional at 3, 0, 1 lexes token 25 as close conditional at 2, 0, 0 lexes token 26 as close group at 1, 0, 0 lexes token 27 as close group at 0, 0, 0 given the pattern (?-mix:(a(b(c)))(?(1)(?(2)(?(3)d|e))|(?(3)(?(2)f|g)|(?(1)f|g)))) lexes token 9 as open conditional at 0, 0, 0 lexes token 10 as condition conditional at 0, 0, 1 lexes token 11 as open conditional at 0, 0, 1 lexes token 12 as condition conditional at 0, 0, 2 lexes token 13 as open conditional at 0, 0, 2 lexes token 14 as condition conditional at 0, 0, 3 lexes token 16 as separator conditional at 0, 0, 3 lexes token 18 as close conditional at 0, 0, 2 lexes token 19 as close conditional at 0, 0, 1 lexes token 20 as separator conditional at 0, 0, 1 lexes token 21 as open conditional at 0, 0, 1 lexes token 22 as condition conditional at 0, 0, 2 lexes token 23 as open conditional at 0, 0, 2 lexes token 24 as condition conditional at 0, 0, 3 lexes token 26 as separator conditional at 0, 0, 3 lexes token 28 as close conditional at 0, 0, 2 lexes token 29 as separator conditional at 0, 0, 2 lexes token 30 as open conditional at 0, 0, 2 lexes token 31 as condition conditional at 0, 0, 3 lexes token 33 as separator conditional at 0, 0, 3 lexes token 35 as close conditional at 0, 0, 2 lexes token 36 as close conditional at 0, 0, 1 lexes token 37 as close conditional at 0, 0, 0 Literal delimiter lexing given the pattern } lexes token 0 as literal literal at 0, 0, 0 given the pattern }} lexes token 0 as literal literal at 0, 0, 0 given the pattern { lexes token 0 as literal literal at 0, 0, 0 given the pattern {{ lexes token 0 as literal literal at 0, 0, 0 given the pattern {} lexes token 0 as literal literal at 0, 0, 0 given the pattern }{ lexes token 0 as literal literal at 0, 0, 0 given the pattern }{+ lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as literal literal at 0, 0, 0 lexes token 2 as one_or_more quantifier at 0, 0, 0 given the pattern {{var}} lexes token 0 as literal literal at 0, 0, 0 given the pattern a{b}c lexes token 0 as literal literal at 0, 0, 0 given the pattern a{1,2 lexes token 0 as literal literal at 0, 0, 0 given the pattern ({.+}) lexes token 0 as capture group at 0, 0, 0 lexes token 1 as literal literal at 1, 0, 0 lexes token 2 as dot meta at 1, 0, 0 lexes token 3 as one_or_more quantifier at 1, 0, 0 lexes token 4 as literal literal at 1, 0, 0 lexes token 5 as close group at 0, 0, 0 given the pattern ] lexes token 0 as literal literal at 0, 0, 0 given the pattern ]] lexes token 0 as literal literal at 0, 0, 0 given the pattern ]\[ lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as set_open escape at 0, 0, 0 given the pattern () lexes token 0 as capture group at 0, 0, 0 lexes token 1 as close group at 0, 0, 0 given the pattern {abc:.+}}}[^}]]} lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as dot meta at 0, 0, 0 lexes token 2 as one_or_more quantifier at 0, 0, 0 lexes token 3 as literal literal at 0, 0, 0 lexes token 4 as open set at 0, 0, 0 lexes token 5 as negate set at 0, 1, 0 lexes token 6 as literal literal at 0, 1, 0 lexes token 7 as close set at 0, 0, 0 lexes token 8 as literal literal at 0, 0, 0 Escape lexing given the pattern \u{62} lexes token 0 as codepoint_list escape at 0, 0, 0 given the pattern \u{62 63 64} lexes token 0 as codepoint_list escape at 0, 0, 0 given the pattern \u{62 63 64}+ lexes token 0 as codepoint_list escape at 0, 0, 0 lexes token 1 as codepoint_list escape at 0, 0, 0 lexes token 2 as one_or_more quantifier at 0, 0, 0 Keep lexing given the pattern (?-mix:ab\Kcd) lexes token 1 as mark keep at 0, 0, 0 given the pattern (?-mix:(a\Kb)|(c\\\Kd)ef) lexes token 2 as mark keep at 1, 0, 0 lexes token 9 as mark keep at 1, 0, 0 Literal lexing lex single 2 byte char lex single 3 byte char lex single 4 byte char given the pattern a lexes token 0 as literal literal at 0, 0, 0 given the pattern ab+ lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as literal literal at 0, 0, 0 lexes token 2 as one_or_more quantifier at 0, 0, 0 given the pattern äöü+ lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as literal literal at 0, 0, 0 lexes token 2 as one_or_more quantifier at 0, 0, 0 given the pattern ab?れます+cd lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as literal literal at 0, 0, 0 lexes token 2 as zero_or_one quantifier at 0, 0, 0 lexes token 3 as literal literal at 0, 0, 0 lexes token 4 as literal literal at 0, 0, 0 lexes token 5 as one_or_more quantifier at 0, 0, 0 lexes token 6 as literal literal at 0, 0, 0 given the pattern 𐒀𐒁?𐒂ab+𐒃 lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as literal literal at 0, 0, 0 lexes token 2 as zero_or_one quantifier at 0, 0, 0 lexes token 3 as literal literal at 0, 0, 0 lexes token 4 as literal literal at 0, 0, 0 lexes token 5 as one_or_more quantifier at 0, 0, 0 lexes token 6 as literal literal at 0, 0, 0 given the pattern mu𝄞?si*𝄫c+ lexes token 0 as literal literal at 0, 0, 0 lexes token 1 as literal literal at 0, 0, 0 lexes token 2 as zero_or_one quantifier at 0, 0, 0 lexes token 3 as literal literal at 0, 0, 0 lexes token 4 as literal literal at 0, 0, 0 lexes token 5 as zero_or_more quantifier at 0, 0, 0 lexes token 6 as literal literal at 0, 0, 0 lexes token 7 as literal literal at 0, 0, 0 lexes token 8 as one_or_more quantifier at 0, 0, 0 Nesting lexing given the pattern (?-mix:(((b)))) lexes token 0 as capture group at 0, 0, 0 lexes token 1 as capture group at 1, 0, 0 lexes token 2 as capture group at 2, 0, 0 lexes token 3 as literal literal at 3, 0, 0 lexes token 4 as close group at 2, 0, 0 lexes token 5 as close group at 1, 0, 0 lexes token 6 as close group at 0, 0, 0 given the pattern (?-mix:(\((b)\))) lexes token 0 as capture group at 0, 0, 0 lexes token 1 as group_open escape at 1, 0, 0 lexes token 2 as capture group at 1, 0, 0 lexes token 3 as literal literal at 2, 0, 0 lexes token 4 as close group at 1, 0, 0 lexes token 5 as group_close escape at 1, 0, 0 lexes token 6 as close group at 0, 0, 0 given the pattern (?-mix:(?>a(?>b(?>c)))) lexes token 0 as atomic group at 0, 0, 0 lexes token 2 as atomic group at 1, 0, 0 lexes token 4 as atomic group at 2, 0, 0 lexes token 6 as close group at 2, 0, 0 lexes token 7 as close group at 1, 0, 0 lexes token 8 as close group at 0, 0, 0 given the pattern (?-mix:a(?:b(?:c))) lexes token 0 as passive group at 0, 0, 0 lexes token 2 as passive group at 1, 0, 0 lexes token 4 as passive group at 2, 0, 0 lexes token 6 as close group at 2, 0, 0 lexes token 7 as close group at 1, 0, 0 lexes token 8 as close group at 0, 0, 0 given the pattern (?-mix:(?=a(?!b(?<=c(?abc)\k lexes token 3 as name_ref backref at 0, 0, 0 given the pattern (?abc)\k'X' lexes token 3 as name_ref backref at 0, 0, 0 given the pattern (abc)\k<1> lexes token 3 as number_ref backref at 0, 0, 0 given the pattern (abc)\k'1' lexes token 3 as number_ref backref at 0, 0, 0 given the pattern (abc)\k<-1> lexes token 3 as number_rel_ref backref at 0, 0, 0 given the pattern (abc)\k'-1' lexes token 3 as number_rel_ref backref at 0, 0, 0 given the pattern (?abc)\g lexes token 3 as name_call backref at 0, 0, 0 given the pattern (?abc)\g'X' lexes token 3 as name_call backref at 0, 0, 0 given the pattern (abc)\g<1> lexes token 3 as number_call backref at 0, 0, 0 given the pattern (abc)\g'1' lexes token 3 as number_call backref at 0, 0, 0 given the pattern \g<0> lexes token 0 as number_call backref at 0, 0, 0 given the pattern \g'0' lexes token 0 as number_call backref at 0, 0, 0 given the pattern (abc)\g<-1> lexes token 3 as number_rel_call backref at 0, 0, 0 given the pattern (abc)\g'-1' lexes token 3 as number_rel_call backref at 0, 0, 0 given the pattern (abc)\g<+1> lexes token 3 as number_rel_call backref at 0, 0, 0 given the pattern (abc)\g'+1' lexes token 3 as number_rel_call backref at 0, 0, 0 given the pattern (?abc)\k lexes token 3 as name_recursion_ref backref at 0, 0, 0 given the pattern (?abc)\k'X-0' lexes token 3 as name_recursion_ref backref at 0, 0, 0 given the pattern (abc)\k<1-0> lexes token 3 as number_recursion_ref backref at 0, 0, 0 given the pattern (abc)\k'1-0' lexes token 3 as number_recursion_ref backref at 0, 0, 0 Regexp::Parser parse returns a root expression parse can be called with block parse root contains expressions parse root options mi parse node types parse no quantifier target raises error parse sequence no quantifier target raises error Alternation parsing parse alternation root parse alternation alts parse alternation nested parse alternation nested sequence parse alternation nested groups parse alternation grouped alts parse alternation nested grouped alts parse alternation continues after nesting Anchor parsing given the pattern (?-mix:^a) parses expression at 0 as Regexp::Expression::Anchor::BeginningOfLine given the pattern (?-mix:a$) parses expression at 1 as Regexp::Expression::Anchor::EndOfLine given the pattern (?-mix:\Aa) parses expression at 0 as Regexp::Expression::Anchor::BeginningOfString given the pattern (?-mix:a\z) parses expression at 1 as Regexp::Expression::Anchor::EndOfString given the pattern (?-mix:a\Z) parses expression at 1 as Regexp::Expression::Anchor::EndOfStringOrBeforeEndOfLine given the pattern (?-mix:a\b) parses expression at 1 as Regexp::Expression::Anchor::WordBoundary given the pattern (?-mix:a\B) parses expression at 1 as Regexp::Expression::Anchor::NonWordBoundary given the pattern (?-mix:a\G) parses expression at 1 as Regexp::Expression::Anchor::MatchStart given the pattern (?-mix:\\A) parses expression at 0 as Regexp::Expression::EscapeSequence::Literal Conditional parsing parse conditional parse conditional condition parse conditional condition with number ref parse conditional nested groups parse conditional nested parse conditional nested alternation parse conditional extra separator parse conditional quantified parse conditional branch content quantified parse conditional excessive branches Parsing errors raises UnknownTokenTypeError for unknown token types raises for unkown tokens of type anchor raises for unkown tokens of type backref raises for unkown tokens of type conditional raises for unkown tokens of type free_space raises for unkown tokens of type group raises for unkown tokens of type meta raises for unkown tokens of type nonproperty raises for unkown tokens of type property raises for unkown tokens of type quantifier raises for unkown tokens of type set raises for unkown tokens of type type EscapeSequence parsing parse chars and codepoints parse escape control sequence lower parse escape control sequence upper parse escape meta sequence parse escape meta control sequence parse lower c meta control sequence parse escape reverse meta control sequence parse escape reverse lower c meta control sequence given the pattern (?-mix:a\ac) parses expression at 1 as Regexp::Expression::EscapeSequence::Bell given the pattern (?-mix:a\ec) parses expression at 1 as Regexp::Expression::EscapeSequence::AsciiEscape given the pattern (?-mix:a\fc) parses expression at 1 as Regexp::Expression::EscapeSequence::FormFeed given the pattern (?-mix:a\nc) parses expression at 1 as Regexp::Expression::EscapeSequence::Newline given the pattern (?-mix:a\rc) parses expression at 1 as Regexp::Expression::EscapeSequence::Return given the pattern (?-mix:a\tc) parses expression at 1 as Regexp::Expression::EscapeSequence::Tab given the pattern (?-mix:a\vc) parses expression at 1 as Regexp::Expression::EscapeSequence::VerticalTab given the pattern (?-mix:a\.c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\?c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\*c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\+c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\|c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\(c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\)c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\{c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\}c) parses expression at 1 as Regexp::Expression::EscapeSequence::Literal given the pattern (?-mix:a\u0640) parses expression at 1 as Regexp::Expression::EscapeSequence::Codepoint given the pattern (?-mix:a\u{41 1F60D}) parses expression at 1 as Regexp::Expression::EscapeSequence::CodepointList given the pattern (?-mix:a\u{10FFFF}) parses expression at 1 as Regexp::Expression::EscapeSequence::CodepointList given the pattern (?-mix:a\xFF) parses expression at 1 as Regexp::Expression::EscapeSequence::Hex given the pattern (?-mix:a\177) parses expression at 1 as Regexp::Expression::EscapeSequence::Octal FreeSpace parsing parse free space spaces parse non free space literals parse free space comments parse free space nested comments parse free space quantifiers Group parsing parse group number parse group number at level given the pattern (?-mix:(?=abc)(?!def)) parses expression at 0 as Regexp::Expression::Assertion::Lookahead parses expression at 1 as Regexp::Expression::Assertion::NegativeLookahead given the pattern (?-mix:(?<=abc)(?abc)\k) parses expression at 1 as Regexp::Expression::Backreference::Name given the pattern (?-mix:(?abc)\k'X') parses expression at 1 as Regexp::Expression::Backreference::Name given the pattern (?-mix:(abc)\k<1>) parses expression at 1 as Regexp::Expression::Backreference::Number given the pattern (?-mix:(abc)\k'1') parses expression at 1 as Regexp::Expression::Backreference::Number given the pattern (?-mix:(abc)\k<-1>) parses expression at 1 as Regexp::Expression::Backreference::NumberRelative given the pattern (?-mix:(abc)\k'-1') parses expression at 1 as Regexp::Expression::Backreference::NumberRelative given the pattern (?-mix:(?abc)\g) parses expression at 1 as Regexp::Expression::Backreference::NameCall given the pattern (?-mix:(?abc)\g'X') parses expression at 1 as Regexp::Expression::Backreference::NameCall given the pattern (?-mix:(abc)\g<1>) parses expression at 1 as Regexp::Expression::Backreference::NumberCall given the pattern (?-mix:(abc)\g'1') parses expression at 1 as Regexp::Expression::Backreference::NumberCall given the pattern \g<0> parses expression at 0 as Regexp::Expression::Backreference::NumberCall given the pattern \g'0' parses expression at 0 as Regexp::Expression::Backreference::NumberCall given the pattern (?-mix:(abc)\g<-1>) parses expression at 1 as Regexp::Expression::Backreference::NumberCallRelative given the pattern (?-mix:(abc)\g'-1') parses expression at 1 as Regexp::Expression::Backreference::NumberCallRelative given the pattern (?-mix:\g<+1>(abc)) parses expression at 0 as Regexp::Expression::Backreference::NumberCallRelative given the pattern (?-mix:\g'+1'(abc)) parses expression at 0 as Regexp::Expression::Backreference::NumberCallRelative given the pattern (?-mix:(?abc)\k) parses expression at 1 as Regexp::Expression::Backreference::NameRecursionLevel given the pattern (?-mix:(?abc)\k'X-0') parses expression at 1 as Regexp::Expression::Backreference::NameRecursionLevel given the pattern (?-mix:(abc)\k<1-0>) parses expression at 1 as Regexp::Expression::Backreference::NumberRecursionLevel given the pattern (?-mix:(abc)\k'1-0') parses expression at 1 as Regexp::Expression::Backreference::NumberRecursionLevel given the pattern (?-mix:(abc)\k'-1+0') parses expression at 1 as Regexp::Expression::Backreference::NumberRecursionLevel given the pattern (?-mix:(abc)\k'1+1') parses expression at 1 as Regexp::Expression::Backreference::NumberRecursionLevel given the pattern (?-mix:(abc)\k'1-1') parses expression at 1 as Regexp::Expression::Backreference::NumberRecursionLevel CharacterSet::Intersection parsing parse set intersection parse set intersection range and subset parse set intersection trailing range parse set intersection type parse set intersection multipart CharacterSet::Range parsing parse set range parse set range hex parse set range unicode /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[--z]/ parse set range edge case leading dash /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[!--]/ parse set range edge case trailing dash parse set range edge case leading negate parse set range edge case trailing negate /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[[\-ab]&&-bc]/ /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[[\-ab]&&-bc]/ /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[[\-ab]&&-bc]/ /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[[\-ab]&&-bc]/ parse set range edge case leading intersection /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[bc-&&[\-ab]]/ /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[bc-&&[\-ab]]/ /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[bc-&&[\-ab]]/ /build/ruby-regexp-parser-1TPn7q/ruby-regexp-parser-2.1.1/lib/regexp_parser/expression/methods/match.rb:9: warning: character class has '-' without escape: /[bc-&&[\-ab]]/ parse set range edge case trailing intersection CharacterSet parsing parse set basic parse set char type parse set escape sequence backspace parse set escape sequence hex parse set escape sequence codepoint parse set escape sequence codepoint list parse set posix class parse set nesting parse set nesting negative parse set nesting #to_s parse set literals are not merged parse set whitespace is not merged parse set whitespace is not merged in x mode parse set collating sequence parse set character equivalents CharacterType parsing given the pattern (?-mix:a\dc) parses expression at 1 as Regexp::Expression::CharacterType::Digit given the pattern (?-mix:a\Dc) parses expression at 1 as Regexp::Expression::CharacterType::NonDigit given the pattern (?-mix:a\sc) parses expression at 1 as Regexp::Expression::CharacterType::Space given the pattern (?-mix:a\Sc) parses expression at 1 as Regexp::Expression::CharacterType::NonSpace given the pattern (?-mix:a\hc) parses expression at 1 as Regexp::Expression::CharacterType::Hex given the pattern (?-mix:a\Hc) parses expression at 1 as Regexp::Expression::CharacterType::NonHex given the pattern (?-mix:a\wc) parses expression at 1 as Regexp::Expression::CharacterType::Word given the pattern (?-mix:a\Wc) parses expression at 1 as Regexp::Expression::CharacterType::NonWord given the pattern a\Rc parses expression at 1 as Regexp::Expression::CharacterType::Linebreak given the pattern a\Xc parses expression at 1 as Regexp::Expression::CharacterType::ExtendedGrapheme Regexp::Scanner scanner returns an array scanner returns tokens as arrays scanner token count Anchor scanning given the pattern ^abc scans token 0 as bol anchor at 0..1 given the pattern abc$ scans token 1 as eol anchor at 3..4 given the pattern \Aabc scans token 0 as bos anchor at 0..2 given the pattern abc\z scans token 1 as eos anchor at 3..5 given the pattern abc\Z scans token 1 as eos_ob_eol anchor at 3..5 given the pattern a\bc scans token 1 as word_boundary anchor at 1..3 given the pattern a\Bc scans token 1 as nonword_boundary anchor at 1..3 given the pattern a\Gc scans token 1 as match_start anchor at 1..3 given the pattern \\Ac scans token 0 as backslash escape at 0..2 given the pattern a\\z scans token 1 as backslash escape at 1..3 given the pattern a\\Z scans token 1 as backslash escape at 1..3 given the pattern a\\bc scans token 1 as backslash escape at 1..3 given the pattern a\\Bc scans token 1 as backslash escape at 1..3 Conditional scanning given the pattern (?-mix:(a)(?(1)T|F)1) scans token 3 as open conditional at 3..5 given the pattern (?-mix:(a)(?(1)T|F)2) scans token 4 as condition_open conditional at 5..6 given the pattern (?-mix:(a)(?(1)T|F)3) scans token 5 as condition conditional at 6..7 given the pattern (?-mix:(a)(?(1)T|F)4) scans token 6 as condition_close conditional at 7..8 given the pattern (?-mix:(a)(?(1)T|F)5) scans token 7 as literal literal at 8..9 given the pattern (?-mix:(a)(?(1)T|F)6) scans token 8 as separator conditional at 9..10 given the pattern (?-mix:(a)(?(1)T|F)7) scans token 9 as literal literal at 10..11 given the pattern (?-mix:(a)(?(1)T|F)8) scans token 10 as close conditional at 11..12 given the pattern (?-mix:(a)(?(1)TRUE)9) scans token 8 as close conditional at 12..13 given the pattern (?-mix:(a)(?(1)TRUE|)10) scans token 8 as separator conditional at 12..13 given the pattern (?-mix:(a)(?(1)TRUE|)11) scans token 9 as close conditional at 13..14 given the pattern (?-mix:(?A)(?()T|F)1) scans token 5 as condition conditional at 10..13 given the pattern (?-mix:(?'N'A)(?('N')T|F)2) scans token 5 as condition conditional at 10..13 given the pattern (?-mix:(a(b(c)))(?(1)(?(2)d|(?(3)e|f))|(?(2)(?(1)g|h)))) scans token 0 as capture group at 0..1 scans token 1 as literal literal at 1..2 scans token 2 as capture group at 2..3 scans token 3 as literal literal at 3..4 scans token 4 as capture group at 4..5 scans token 5 as literal literal at 5..6 scans token 6 as close group at 6..7 scans token 7 as close group at 7..8 scans token 8 as close group at 8..9 scans token 9 as open conditional at 9..11 scans token 10 as condition_open conditional at 11..12 scans token 11 as condition conditional at 12..13 scans token 12 as condition_close conditional at 13..14 scans token 13 as open conditional at 14..16 scans token 14 as condition_open conditional at 16..17 scans token 15 as condition conditional at 17..18 scans token 16 as condition_close conditional at 18..19 scans token 17 as literal literal at 19..20 scans token 18 as separator conditional at 20..21 scans token 19 as open conditional at 21..23 scans token 20 as condition_open conditional at 23..24 scans token 21 as condition conditional at 24..25 scans token 22 as condition_close conditional at 25..26 scans token 23 as literal literal at 26..27 scans token 24 as separator conditional at 27..28 scans token 25 as literal literal at 28..29 scans token 26 as close conditional at 29..30 scans token 27 as close conditional at 30..31 scans token 28 as separator conditional at 31..32 scans token 29 as open conditional at 32..34 scans token 30 as condition_open conditional at 34..35 scans token 31 as condition conditional at 35..36 scans token 32 as condition_close conditional at 36..37 scans token 33 as open conditional at 37..39 scans token 34 as condition_open conditional at 39..40 scans token 35 as condition conditional at 40..41 scans token 36 as condition_close conditional at 41..42 scans token 37 as literal literal at 42..43 scans token 38 as separator conditional at 43..44 scans token 39 as literal literal at 44..45 scans token 40 as close conditional at 45..46 scans token 41 as close conditional at 46..47 scans token 42 as close conditional at 47..48 given the pattern (?-mix:((a)|(b)|((?(2)(c(d|e)+)?|(?(3)f|(?(4)(g|(h)(i)))))))) scans token 0 as capture group at 0..1 scans token 1 as capture group at 1..2 scans token 2 as literal literal at 2..3 scans token 3 as close group at 3..4 scans token 4 as alternation meta at 4..5 scans token 5 as capture group at 5..6 scans token 6 as literal literal at 6..7 scans token 7 as close group at 7..8 scans token 8 as alternation meta at 8..9 scans token 9 as capture group at 9..10 scans token 10 as open conditional at 10..12 scans token 11 as condition_open conditional at 12..13 scans token 12 as condition conditional at 13..14 scans token 13 as condition_close conditional at 14..15 scans token 14 as capture group at 15..16 scans token 15 as literal literal at 16..17 scans token 16 as capture group at 17..18 scans token 17 as literal literal at 18..19 scans token 18 as alternation meta at 19..20 scans token 19 as literal literal at 20..21 scans token 20 as close group at 21..22 scans token 21 as one_or_more quantifier at 22..23 scans token 22 as close group at 23..24 scans token 23 as zero_or_one quantifier at 24..25 scans token 24 as separator conditional at 25..26 scans token 25 as open conditional at 26..28 scans token 26 as condition_open conditional at 28..29 scans token 27 as condition conditional at 29..30 scans token 28 as condition_close conditional at 30..31 scans token 29 as literal literal at 31..32 scans token 30 as separator conditional at 32..33 scans token 31 as open conditional at 33..35 scans token 32 as condition_open conditional at 35..36 scans token 33 as condition conditional at 36..37 scans token 34 as condition_close conditional at 37..38 scans token 35 as capture group at 38..39 scans token 36 as literal literal at 39..40 scans token 37 as alternation meta at 40..41 scans token 38 as capture group at 41..42 scans token 39 as literal literal at 42..43 scans token 40 as close group at 43..44 scans token 41 as capture group at 44..45 scans token 42 as literal literal at 45..46 scans token 43 as close group at 46..47 scans token 44 as close group at 47..48 scans token 45 as close conditional at 48..49 scans token 46 as close conditional at 49..50 scans token 47 as close conditional at 50..51 scans token 48 as close group at 51..52 scans token 49 as close group at 52..53 given the pattern (?-mix:(a)(?(1)(b|c|d)|(e|f|g))(h)(?(2)(i|j|k)|(l|m|n))|o|p) scans token 9 as alternation meta at 10..11 scans token 11 as alternation meta at 12..13 scans token 14 as separator conditional at 15..16 scans token 17 as alternation meta at 18..19 scans token 19 as alternation meta at 20..21 scans token 32 as alternation meta at 34..35 scans token 34 as alternation meta at 36..37 scans token 37 as separator conditional at 39..40 scans token 40 as alternation meta at 42..43 scans token 42 as alternation meta at 44..45 scans token 46 as alternation meta at 48..49 scans token 48 as alternation meta at 50..51 Literal delimiter scanning given the pattern } scans token 0 as literal literal at 0..1 given the pattern }} scans token 0 as literal literal at 0..2 given the pattern { scans token 0 as literal literal at 0..1 given the pattern {{ scans token 0 as literal literal at 0..2 given the pattern {} scans token 0 as literal literal at 0..2 given the pattern }{ scans token 0 as literal literal at 0..2 given the pattern }{+ scans token 0 as literal literal at 0..2 given the pattern {{var}} scans token 0 as literal literal at 0..7 given the pattern a{1,2 scans token 0 as literal literal at 0..5 given the pattern ({.+}) scans token 0 as capture group at 0..1 scans token 1 as literal literal at 1..2 scans token 2 as dot meta at 2..3 scans token 3 as one_or_more quantifier at 3..4 scans token 4 as literal literal at 4..5 scans token 5 as close group at 5..6 given the pattern ] scans token 0 as literal literal at 0..1 given the pattern ]] scans token 0 as literal literal at 0..2 given the pattern ]\[ scans token 0 as literal literal at 0..1 scans token 1 as set_open escape at 1..3 given the pattern () scans token 0 as capture group at 0..1 scans token 1 as close group at 1..2 Regexp::Scanner raises Regexp::Scanner::PrematureEndError for unbalanced set `[a` raises Regexp::Scanner::PrematureEndError for unbalanced set `[[:alpha:]` raises Regexp::Scanner::PrematureEndError for unbalanced group `(abc` raises Regexp::Scanner::PrematureEndError for eof in property `\p{asci` raises Regexp::Scanner::PrematureEndError for incomplete property `\p{ascii abc` raises Regexp::Scanner::PrematureEndError for eof options `(?mix` raises Regexp::Scanner::PrematureEndError for eof escape `\` raises Regexp::Scanner::PrematureEndError for eof in hex escape `\x` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u0` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u00` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u000` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u{` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u{00` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u{0000` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u{0000 ` raises Regexp::Scanner::PrematureEndError for eof in cp escape `\u{0000 0000` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\c` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\c\M` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\c\M-` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\C` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\C-` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\C-\M` raises Regexp::Scanner::PrematureEndError for eof in c-seq `\C-\M-` raises Regexp::Scanner::PrematureEndError for eof in m-seq `\M` raises Regexp::Scanner::PrematureEndError for eof in m-seq `\M-` raises Regexp::Scanner::PrematureEndError for eof in m-seq `\M-\` raises Regexp::Scanner::PrematureEndError for eof in m-seq `\M-\c` raises Regexp::Scanner::PrematureEndError for eof in m-seq `\M-\C` raises Regexp::Scanner::PrematureEndError for eof in m-seq `\M-\C-` raises Regexp::Scanner::InvalidSequenceError for invalid hex `\xZ` raises Regexp::Scanner::InvalidSequenceError for invalid hex `\xZ0` raises Regexp::Scanner::InvalidSequenceError for invalid c-seq `\cü` raises Regexp::Scanner::InvalidSequenceError for invalid c-seq `\c\M-ü` raises Regexp::Scanner::InvalidSequenceError for invalid c-seq `\C-ü` raises Regexp::Scanner::InvalidSequenceError for invalid c-seq `\C-\M-ü` raises Regexp::Scanner::InvalidSequenceError for invalid m-seq `\M-ü` raises Regexp::Scanner::InvalidSequenceError for invalid m-seq `\M-\cü` raises Regexp::Scanner::InvalidSequenceError for invalid m-seq `\M-\C-ü` raises Regexp::Scanner::ScannerError for invalid c-seq `\Ca` raises Regexp::Scanner::ScannerError for invalid m-seq `\Ma` raises Regexp::Scanner::InvalidGroupError for invalid group `(?'')` raises Regexp::Scanner::InvalidGroupError for invalid group `(?''empty-name)` raises Regexp::Scanner::InvalidGroupError for invalid group `(?<>)` raises Regexp::Scanner::InvalidGroupError for invalid group `(?<>empty-name)` raises Regexp::Scanner::InvalidGroupOption for invalid option `(?foo)` raises Regexp::Scanner::InvalidGroupOption for invalid option `(?mix abc)` raises Regexp::Scanner::InvalidGroupOption for invalid option `(?mix^bc` raises Regexp::Scanner::InvalidGroupOption for invalid option `(?)` raises Regexp::Scanner::InvalidGroupOption for invalid neg option `(?-foo)` raises Regexp::Scanner::InvalidGroupOption for invalid neg option `(?-u)` raises Regexp::Scanner::InvalidGroupOption for invalid neg option `(?-mixu)` raises Regexp::Scanner::InvalidBackrefError for empty backref `\k<>` raises Regexp::Scanner::InvalidBackrefError for empty backref `\k''` raises Regexp::Scanner::InvalidBackrefError for empty refcall `\g<>` raises Regexp::Scanner::InvalidBackrefError for empty refcall `\g''` raises Regexp::Scanner::UnknownUnicodePropertyError for unknown property `\p{foobar}` Escape scanning given the pattern (?-mix:c\at) scans token 1 as bell escape at 1..3 given the pattern (?-mix:c\bt) scans token 1 as word_boundary anchor at 1..3 given the pattern (?-mix:c\ft) scans token 1 as form_feed escape at 1..3 given the pattern (?-mix:c\nt) scans token 1 as newline escape at 1..3 given the pattern (?-mix:c\tt) scans token 1 as tab escape at 1..3 given the pattern (?-mix:c\vt) scans token 1 as vertical_tab escape at 1..3 given the pattern c\qt scans token 1 as literal escape at 1..3 given the pattern a\üc scans token 1 as literal escape at 1..3 given the pattern a\😋c scans token 1 as literal escape at 1..3 given the pattern c\gt scans token 1 as literal escape at 1..3 given the pattern c\kt scans token 1 as literal escape at 1..3 given the pattern a\012c scans token 1 as octal escape at 1..5 given the pattern a\0124 scans token 1 as octal escape at 1..5 given the pattern \712+7 scans token 0 as octal escape at 0..4 given the pattern a\xA scans token 1 as hex escape at 1..4 given the pattern a\x24c scans token 1 as hex escape at 1..5 given the pattern a\x0640c scans token 1 as hex escape at 1..5 given the pattern a\u0640c scans token 1 as codepoint escape at 1..7 given the pattern a\u{640 0641}c scans token 1 as codepoint_list escape at 1..13 given the pattern a\u{10FFFF}c scans token 1 as codepoint_list escape at 1..11 given the pattern (?-mix:a\cBc) scans token 1 as control escape at 1..4 given the pattern (?-mix:a\c^c) scans token 1 as control escape at 1..4 given the pattern (?-mix:a\c\n) scans token 1 as control escape at 1..5 given the pattern (?-mix:a\c\\b) scans token 1 as control escape at 1..5 given the pattern (?-mix:a\C-bc) scans token 1 as control escape at 1..5 given the pattern (?-mix:a\C-^b) scans token 1 as control escape at 1..5 given the pattern (?-mix:a\C-\nb) scans token 1 as control escape at 1..6 given the pattern (?-mix:a\C-\\b) scans token 1 as control escape at 1..6 given the pattern (?-mix:a\c\M-Bc) scans token 1 as control escape at 1..7 given the pattern (?-mix:a\C-\M-Bc) scans token 1 as control escape at 1..8 given the pattern (?-mix:a\M-Bc) scans token 1 as meta_sequence escape at 1..5 given the pattern (?-mix:a\M-\cBc) scans token 1 as meta_sequence escape at 1..7 given the pattern (?-mix:a\M-\c^) scans token 1 as meta_sequence escape at 1..7 given the pattern (?-mix:a\M-\c\n) scans token 1 as meta_sequence escape at 1..8 given the pattern (?-mix:a\M-\c\\) scans token 1 as meta_sequence escape at 1..8 given the pattern (?-mix:a\M-\C-Bc) scans token 1 as meta_sequence escape at 1..8 given the pattern (?-mix:a\M-\C-\\) scans token 1 as meta_sequence escape at 1..9 given the pattern ab\\xcd scans token 1 as backslash escape at 2..4 given the pattern ab\\0cd scans token 1 as backslash escape at 2..4 given the pattern ab\\Kcd scans token 1 as backslash escape at 2..4 given the pattern ab\^cd scans token 1 as bol escape at 2..4 given the pattern ab\$cd scans token 1 as eol escape at 2..4 given the pattern ab\[cd scans token 1 as set_open escape at 2..4 FreeSpace scanning scan free space tokens scans 0 as free space scans 2 as free space scans 4 as free space scans 6 as free space scans 8 as free space scans 10 as free space scans 12 as free space scans 14 as free space scans 16 as free space scans 18 as free space scans 20 as free space scans 22 as free space scans 24 as free space does not scan 1 as free space does not scan 3 as free space does not scan 5 as free space does not scan 7 as free space does not scan 9 as free space does not scan 11 as free space does not scan 13 as free space does not scan 15 as free space does not scan 17 as free space does not scan 19 as free space does not scan 21 as free space does not scan 23 as free space sets the correct text scan free space comments given the pattern (?x-mi: a + # A + comment b ? # B ? comment c {2,3} # C {2,3} comment d + | e + # D|E comment ) scans token 5 as comment free_space at 11..25 scans token 11 as comment free_space at 37..51 scans token 17 as comment free_space at 66..84 scans token 29 as comment free_space at 100..114 given the pattern (?x-mi:a # b) scans token 0 as literal literal at 0..1 scans token 1 as whitespace free_space at 1..2 scans token 2 as comment free_space at 2..5 given the pattern (?x-mi:a#b) scans token 0 as literal literal at 0..1 scans token 1 as comment free_space at 1..3 scan free space inlined given the pattern (?-mix:a b(?x:c d e)f g) scans token 0 as literal literal at 0..3 scans token 1 as options group at 3..7 scans token 2 as literal literal at 7..8 scans token 3 as whitespace free_space at 8..9 scans token 4 as literal literal at 9..10 scans token 5 as whitespace free_space at 10..11 scans token 6 as literal literal at 11..12 scans token 7 as close group at 12..13 scans token 8 as literal literal at 13..16 scan free space nested given the pattern (?-mix:a b(?x:c d(?-x:e f)g h)i j) scans token 0 as literal literal at 0..3 scans token 1 as options group at 3..7 scans token 2 as literal literal at 7..8 scans token 3 as whitespace free_space at 8..9 scans token 4 as literal literal at 9..10 scans token 5 as options group at 10..15 scans token 6 as literal literal at 15..18 scans token 7 as close group at 18..19 scans token 8 as literal literal at 19..20 scans token 9 as whitespace free_space at 20..21 scans token 10 as literal literal at 21..22 scans token 11 as close group at 22..23 scans token 12 as literal literal at 23..26 scan free space nested groups given the pattern (?-mix:(a (b(?x: (c d) (?-x:(e f) )g) h)i j)) scans token 0 as capture group at 0..1 scans token 1 as literal literal at 1..3 scans token 2 as capture group at 3..4 scans token 3 as literal literal at 4..5 scans token 4 as options group at 5..9 scans token 5 as whitespace free_space at 9..10 scans token 6 as capture group at 10..11 scans token 7 as literal literal at 11..12 scans token 8 as whitespace free_space at 12..13 scans token 9 as literal literal at 13..14 scans token 10 as close group at 14..15 scans token 11 as whitespace free_space at 15..16 scans token 12 as options group at 16..21 scans token 13 as capture group at 21..22 scans token 14 as literal literal at 22..25 scans token 15 as close group at 25..26 scans token 16 as literal literal at 26..27 scans token 17 as close group at 27..28 scans token 18 as literal literal at 28..29 scans token 19 as close group at 29..30 scans token 20 as literal literal at 30..32 scans token 21 as close group at 32..33 scans token 22 as literal literal at 33..36 scans token 23 as close group at 36..37 scan free space switch groups given the pattern (?-mix:(a (b((?x) (c d) ((?-x)(e f) )g) h)i j)) scans token 0 as capture group at 0..1 scans token 1 as literal literal at 1..3 scans token 2 as capture group at 3..4 scans token 3 as literal literal at 4..5 scans token 4 as capture group at 5..6 scans token 5 as options_switch group at 6..9 scans token 6 as close group at 9..10 scans token 7 as whitespace free_space at 10..11 scans token 8 as capture group at 11..12 scans token 9 as literal literal at 12..13 scans token 10 as whitespace free_space at 13..14 scans token 11 as literal literal at 14..15 scans token 12 as close group at 15..16 scans token 13 as whitespace free_space at 16..17 scans token 14 as capture group at 17..18 scans token 15 as options_switch group at 18..22 scans token 16 as close group at 22..23 scans token 17 as capture group at 23..24 scans token 18 as literal literal at 24..27 scans token 19 as close group at 27..28 scans token 20 as literal literal at 28..29 scans token 21 as close group at 29..30 scans token 22 as literal literal at 30..31 scans token 23 as close group at 31..32 scans token 24 as literal literal at 32..34 scans token 25 as close group at 34..35 scans token 26 as literal literal at 35..38 scans token 27 as close group at 38..39 scanning `#` in regular (non-x mode) given the pattern (?-mix:a#bcd) scans token 0 as literal literal at 0..5 given the pattern (?-mix:a # bcd) scans token 0 as literal literal at 0..7 given the pattern (?-mix:a#\d) scans token 0 as literal literal at 0..2 scans token 1 as digit type at 2..4 given the pattern (?-mix:a # \d) scans token 0 as literal literal at 0..4 scans token 1 as digit type at 4..6 given the pattern (?-mix:a#()) scans token 0 as literal literal at 0..2 scans token 1 as capture group at 2..3 given the pattern (?-mix:a # ()) scans token 0 as literal literal at 0..4 scans token 1 as capture group at 4..5 Group scanning given the pattern (?>abc) scans token 0 as atomic group at 0..3 given the pattern (abc) scans token 0 as capture group at 0..1 given the pattern (?abc) scans token 0 as named_ab group at 0..8 given the pattern (?'name'abc) scans token 0 as named_sq group at 0..8 given the pattern (?abc) scans token 0 as named_ab group at 0..10 given the pattern (?'name_1'abc) scans token 0 as named_sq group at 0..10 given the pattern (?abc) scans token 0 as named_ab group at 0..10 given the pattern (?'name-1'abc) scans token 0 as named_sq group at 0..10 given the pattern (?abc) scans token 0 as named_ab group at 0..10 given the pattern (?'name>1'abc) scans token 0 as named_sq group at 0..10 given the pattern (?<üüuuüü>abc) scans token 0 as named_ab group at 0..10 given the pattern (?'üüuuüü'abc) scans token 0 as named_sq group at 0..10 given the pattern (?<😋1234😋>abc) scans token 0 as named_ab group at 0..10 given the pattern (?'😋1234😋'abc) scans token 0 as named_sq group at 0..10 given the pattern (?:abc) scans token 0 as passive group at 0..3 given the pattern (?:) scans token 0 as passive group at 0..3 given the pattern (?::) scans token 0 as passive group at 0..3 given the pattern (?#abc) scans token 0 as comment group at 0..7 given the pattern (?#) scans token 0 as comment group at 0..4 given the pattern (?=abc) scans token 0 as lookahead assertion at 0..3 given the pattern (?!abc) scans token 0 as nlookahead assertion at 0..3 given the pattern (?<=abc) scans token 0 as lookbehind assertion at 0..4 given the pattern (?abc)\k scans token 3 as name_ref_ab backref at 9..14 given the pattern (?abc)\k'X' scans token 3 as name_ref_sq backref at 9..14 given the pattern (?<+1>abc)\k<+1> scans token 3 as name_ref_ab backref at 10..16 given the pattern (?<+1>abc)\k'+1' scans token 3 as name_ref_sq backref at 10..16 given the pattern (abc)\k<1> scans token 3 as number_ref_ab backref at 5..10 given the pattern (abc)\k'1' scans token 3 as number_ref_sq backref at 5..10 given the pattern (abc)\k<-1> scans token 3 as number_rel_ref_ab backref at 5..11 given the pattern (abc)\k'-1' scans token 3 as number_rel_ref_sq backref at 5..11 given the pattern (?abc)\g scans token 3 as name_call_ab backref at 9..14 given the pattern (?abc)\g'X' scans token 3 as name_call_sq backref at 9..14 given the pattern (?abc)\g scans token 3 as name_call_ab backref at 9..16 given the pattern (?abc)\g'X-1' scans token 3 as name_call_sq backref at 9..16 given the pattern (abc)\g<1> scans token 3 as number_call_ab backref at 5..10 given the pattern (abc)\g'1' scans token 3 as number_call_sq backref at 5..10 given the pattern a(b|\g<0>) scans token 4 as number_call_ab backref at 4..9 given the pattern a(b|\g'0') scans token 4 as number_call_sq backref at 4..9 given the pattern (abc)\g<-1> scans token 3 as number_rel_call_ab backref at 5..11 given the pattern (abc)\g'-1' scans token 3 as number_rel_call_sq backref at 5..11 given the pattern \g<+1>(abc) scans token 0 as number_rel_call_ab backref at 0..6 given the pattern \g'+1'(abc) scans token 0 as number_rel_call_sq backref at 0..6 given the pattern (?abc)\k scans token 3 as name_recursion_ref_ab backref at 9..16 given the pattern (?abc)\k'X-0' scans token 3 as name_recursion_ref_sq backref at 9..16 given the pattern (abc)\k<1-0> scans token 3 as number_recursion_ref_ab backref at 5..12 given the pattern (abc)\k'1-0' scans token 3 as number_recursion_ref_sq backref at 5..12 given the pattern (abc)\k<+1-0> scans token 3 as name_recursion_ref_ab backref at 5..13 given the pattern (abc)\k'+1-0' scans token 3 as name_recursion_ref_sq backref at 5..13 Set scanning set literal encoding given the pattern (?-mix:[a]) scans token 0 as open set at 0..1 given the pattern (?-mix:[b]) scans token 2 as close set at 2..3 given the pattern (?-mix:[^n]) scans token 1 as negate set at 1..2 given the pattern (?-mix:[c]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[^d]) scans token 2 as literal literal at 2..3 given the pattern (?-mix:[\b]) scans token 1 as backspace escape at 1..3 given the pattern (?-mix:[A\bX]) scans token 2 as backspace escape at 2..4 given the pattern (?-mix:[\a]) scans token 1 as bell escape at 1..3 given the pattern (?-mix:[\e]) scans token 1 as escape escape at 1..3 given the pattern (?-mix:[\f]) scans token 1 as form_feed escape at 1..3 given the pattern (?-mix:[\n]) scans token 1 as newline escape at 1..3 given the pattern (?-mix:[\r]) scans token 1 as carriage escape at 1..3 given the pattern (?-mix:[\t]) scans token 1 as tab escape at 1..3 given the pattern (?-mix:[\v]) scans token 1 as vertical_tab escape at 1..3 given the pattern (?-mix:[.]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[?]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[*]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[+]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[{]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[}]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[<]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[>]) scans token 1 as literal literal at 1..2 given the pattern [\\] scans token 1 as backslash escape at 1..3 given the pattern [\u0040] scans token 1 as codepoint escape at 1..7 given the pattern [\u{40}] scans token 1 as codepoint_list escape at 1..7 given the pattern [\c2] scans token 1 as control escape at 1..4 given the pattern [\C-C] scans token 1 as control escape at 1..5 given the pattern [\x20] scans token 1 as hex escape at 1..5 given the pattern [\M-Z] scans token 1 as meta_sequence escape at 1..5 given the pattern [\M-\C-X] scans token 1 as meta_sequence escape at 1..8 given the pattern [\[] scans token 1 as set_open escape at 1..3 given the pattern [\]] scans token 1 as set_close escape at 1..3 given the pattern [a\-] scans token 2 as literal escape at 2..4 given the pattern [\-c] scans token 1 as literal escape at 1..3 given the pattern [\.] scans token 1 as literal escape at 1..3 given the pattern [\?] scans token 1 as literal escape at 1..3 given the pattern [\*] scans token 1 as literal escape at 1..3 given the pattern [\+] scans token 1 as literal escape at 1..3 given the pattern [\|] scans token 1 as literal escape at 1..3 given the pattern [\{] scans token 1 as literal escape at 1..3 given the pattern [\}] scans token 1 as literal escape at 1..3 given the pattern [\(] scans token 1 as literal escape at 1..3 given the pattern [\)] scans token 1 as literal escape at 1..3 given the pattern [\!] scans token 1 as literal escape at 1..3 given the pattern [\#] scans token 1 as literal escape at 1..3 given the pattern [\A] scans token 1 as literal escape at 1..3 given the pattern [\z] scans token 1 as literal escape at 1..3 given the pattern [\g] scans token 1 as literal escape at 1..3 given the pattern [\K] scans token 1 as literal escape at 1..3 given the pattern [\R] scans token 1 as literal escape at 1..3 given the pattern [\X] scans token 1 as literal escape at 1..3 given the pattern [\B] scans token 1 as literal escape at 1..3 given the pattern (?-mix:[\d]) scans token 1 as digit type at 1..3 given the pattern (?-mix:[\da-z]) scans token 1 as digit type at 1..3 given the pattern (?-mix:[\D]) scans token 1 as nondigit type at 1..3 given the pattern (?-mix:[\h]) scans token 1 as hex type at 1..3 given the pattern (?-mix:[\H]) scans token 1 as nonhex type at 1..3 given the pattern (?-mix:[\s]) scans token 1 as space type at 1..3 given the pattern (?-mix:[\S]) scans token 1 as nonspace type at 1..3 given the pattern (?-mix:[\w]) scans token 1 as word type at 1..3 given the pattern (?-mix:[\W]) scans token 1 as nonword type at 1..3 given the pattern (?-mix:[a-b]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[a-c]) scans token 2 as range set at 2..3 given the pattern (?-mix:[a-d]) scans token 3 as literal literal at 3..4 given the pattern (?-mix:[a-b-]) scans token 4 as literal literal at 4..5 given the pattern (?-mix:[-a]) scans token 1 as literal literal at 1..2 given the pattern (?-mix:[a-c^]) scans token 4 as literal literal at 4..5 given the pattern (?-mix:[a-bd-f]) scans token 2 as range set at 2..3 given the pattern (?-mix:[a-cd-f]) scans token 5 as range set at 5..6 given the pattern (?-mix:[a-[c]]) scans token 2 as range set at 2..3 given the pattern (?-mix:[[a]-[c]]) scans token 4 as literal literal at 4..5 given the pattern (?-mix:[[a]-c]) scans token 4 as literal literal at 4..5 given the pattern (?-mix:[^-c]) scans token 2 as literal literal at 2..3 given the pattern (?-mix:[a[:digit:]c]) scans token 2 as digit posixclass at 2..11 given the pattern (?-mix:[[:digit:][:space:]]) scans token 2 as space posixclass at 10..19 given the pattern (?-mix:[[:^digit:]]) scans token 1 as digit nonposixclass at 1..11 given the pattern (?-mix:[a-d&&g-h]) scans token 4 as intersection set at 4..6 given the pattern (?-mix:[a&&]) scans token 2 as intersection set at 2..4 given the pattern (?-mix:[&&z]) scans token 1 as intersection set at 1..3 given the pattern (?-mix:[&&]) scans token 1 as intersection set at 1..3 given the pattern (?-mix:[a\p{digit}c]) scans token 2 as digit property at 2..11 given the pattern (?-mix:[a\P{digit}c]) scans token 2 as digit nonproperty at 2..11 given the pattern (?-mix:[a\p{^digit}c]) scans token 2 as digit nonproperty at 2..12 given the pattern (?-mix:[a\P{^digit}c]) scans token 2 as digit property at 2..12 given the pattern (?-mix:[a\p{ALPHA}c]) scans token 2 as alpha property at 2..11 given the pattern (?-mix:[a\p{P}c]) scans token 2 as punctuation property at 2..7 given the pattern (?-mix:[a\p{P}\P{P}c]) scans token 3 as punctuation nonproperty at 7..12 given the pattern (?-mix:[\x20-\x27]) scans token 1 as hex escape at 1..5 scans token 2 as range set at 5..6 scans token 3 as hex escape at 6..10 given the pattern (?-mix:[a-w&&[^c-g]z]) scans token 5 as open set at 6..7 scans token 6 as negate set at 7..8 scans token 8 as range set at 9..10 scans token 10 as close set at 11..12 given the pattern [a[.a-b.]c] scans token 2 as open set at 2..3 scans token 3 as literal literal at 3..4 scans token 4 as literal literal at 4..5 given the pattern [a[=e=]c] scans token 2 as open set at 2..3 scans token 3 as literal literal at 3..4 scans token 4 as literal literal at 4..5 given the pattern (?-mix:[れます]) scans token 0 as open set at 0..1 scans token 1 as literal literal at 1..2 scans token 2 as literal literal at 2..3 scans token 3 as literal literal at 3..4 scans token 4 as close set at 4..5 Type scanning given the pattern a\dc scans token 1 as digit type at 1..3 given the pattern a\Dc scans token 1 as nondigit type at 1..3 given the pattern a\hc scans token 1 as hex type at 1..3 given the pattern a\Hc scans token 1 as nonhex type at 1..3 given the pattern a\sc scans token 1 as space type at 1..3 given the pattern a\Sc scans token 1 as nonspace type at 1..3 given the pattern a\wc scans token 1 as word type at 1..3 given the pattern a\Wc scans token 1 as nonword type at 1..3 given the pattern a\Rc scans token 1 as linebreak type at 1..3 given the pattern a\Xc scans token 1 as xgrapheme type at 1..3 Regexp::Syntax unknown name new new any not implemented supported? invalid version version class tiny version version class minor version raises for unknown constant lookups {:free_space=>[:comment, :whitespace], :literal=>[:literal], :anchor=>[:bol, :eol, :word_boundary, :nonword_boundary, :bos, :eos, :eos_ob_eol, :match_start], :assertion=>[:lookahead, :nlookahead, :lookbehind, :nlookbehind], :backref=>[:name_ref, :number, :number_ref, :number_rel_ref, :name_recursion_ref, :number_recursion_ref, :name_call, :number_call, :number_rel_call], :posixclass=>[:alnum, :alpha, :blank, :cntrl, :digit, :graph, :lower, :print, :punct, :space, :upper, :xdigit, :ascii, :word], :nonposixclass=>[:alnum, :alpha, :blank, :cntrl, :digit, :graph, :lower, :print, :punct, :space, :upper, :xdigit, :ascii, :word], :set=>[:open, :close, :negate, :range, :intersection], :type=>[:digit, :nondigit, :space, :nonspace, :word, :nonword, :hex, :nonhex, :linebreak, :xgrapheme], :conditional=>[:open, :close, :condition_open, :condition, :condition_close, :separator], :escape=>[:backslash, :literal, :control, :meta_sequence, :bell, :backspace, :escape, :form_feed, :newline, :carriage, :tab, :vertical_tab, :codepoint, :codepoint_list, :dot, :alternation, :zero_or_one, :zero_or_more, :one_or_more, :bol, :eol, :group_open, :group_close, :interval_open, :interval_close, :set_open, :set_close, :hex, :octal], :group=>[:capture, :close, :options, :options_switch, :named, :atomic, :passive, :comment, :absence], :keep=>[:mark], :meta=>[:dot, :alternation], :quantifier=>[:zero_or_one, :zero_or_more, :one_or_more, :zero_or_one_reluctant, :zero_or_more_reluctant, :one_or_more_reluctant, :zero_or_one_possessive, :zero_or_more_possessive, :one_or_more_possessive, :interval, :interval_reluctant, :interval_possessive], :property=>[:letter, :uppercase_letter, :lowercase_letter, :titlecase_letter, :modifier_letter, :other_letter, :mark, :nonspacing_mark, :spacing_mark, :enclosing_mark, :number, :decimal_number, :letter_number, :other_number, :punctuation, :connector_punctuation, :dash_punctuation, :open_punctuation, :close_punctuation, :initial_punctuation, :final_punctuation, :other_punctuation, :symbol, :math_symbol, :currency_symbol, :modifier_symbol, :other_symbol, :separator, :space_separator, :line_separator, :paragraph_separator, :other, :control, :format, :surrogate, :private_use, :unassigned, :any, :assigned, :newline, :alnum, :alpha, :ascii, :blank, :cntrl, :digit, :graph, :lower, :print, :punct, :space, :upper, :word, :xdigit, :arabic, :imperial_aramaic, :armenian, :avestan, :balinese, :bamum, :bengali, :bopomofo, :braille, :buginese, :buhid, :canadian_aboriginal, :carian, :cham, :cherokee, :coptic, :cypriot, :cyrillic, :devanagari, :deseret, :egyptian_hieroglyphs, :ethiopic, :georgian, :glagolitic, :gothic, :greek, :gujarati, :gurmukhi, :hangul, :han, :hanunoo, :hebrew, :hiragana, :old_italic, :javanese, :kayah_li, :katakana, :kharoshthi, :khmer, :kannada, :kaithi, :tai_tham, :lao, :latin, :lepcha, :limbu, :linear_b, :lisu, :lycian, :lydian, :malayalam, :mongolian, :meetei_mayek, :myanmar, :nko, :ogham, :ol_chiki, :old_turkic, :oriya, :osmanya, :phags_pa, :inscriptional_pahlavi, :phoenician, :inscriptional_parthian, :rejang, :runic, :samaritan, :old_south_arabian, :saurashtra, :shavian, :sinhala, :sundanese, :syloti_nagri, :syriac, :tagbanwa, :tai_le, :new_tai_lue, :tamil, :tai_viet, :telugu, :tifinagh, :tagalog, :thaana, :thai, :tibetan, :ugaritic, :vai, :old_persian, :cuneiform, :yi, :inherited, :common, :unknown, :ascii_hex_digit, :alphabetic, :cased, :changes_when_casefolded, :changes_when_casemapped, :changes_when_lowercased, :changes_when_titlecased, :changes_when_uppercased, :case_ignorable, :bidi_control, :dash, :deprecated, :default_ignorable_code_point, :diacritic, :extender, :grapheme_base, :grapheme_extend, :grapheme_link, :hex_digit, :hyphen, :id_continue, :ideographic, :id_start, :ids_binary_operator, :ids_trinary_operator, :join_control, :logical_order_exception, :lowercase, :math, :noncharacter_code_point, :other_alphabetic, :other_default_ignorable_code_point, :other_grapheme_extend, :other_id_continue, :other_id_start, :other_lowercase, :other_math, :other_uppercase, :pattern_syntax, :pattern_white_space, :quotation_mark, :radical, :sentence_terminal, :soft_dotted, :terminal_punctuation, :unified_ideograph, :uppercase, :variation_selector, :white_space, :xid_start, :xid_continue, :in_alphabetic_presentation_forms, :in_arabic, :in_armenian, :in_arrows, :in_basic_latin, :in_bengali, :in_block_elements, :in_bopomofo_extended, :in_bopomofo, :in_box_drawing, :in_braille_patterns, :in_buhid, :in_cjk_compatibility_forms, :in_cjk_compatibility_ideographs, :in_cjk_compatibility, :in_cjk_radicals_supplement, :in_cjk_symbols_and_punctuation, :in_cjk_unified_ideographs_extension_a, :in_cjk_unified_ideographs, :in_cherokee, :in_combining_diacritical_marks_for_symbols, :in_combining_diacritical_marks, :in_combining_half_marks, :in_control_pictures, :in_currency_symbols, :in_cyrillic_supplement, :in_cyrillic, :in_devanagari, :in_dingbats, :in_enclosed_alphanumerics, :in_enclosed_cjk_letters_and_months, :in_ethiopic, :in_general_punctuation, :in_geometric_shapes, :in_georgian, :in_greek_extended, :in_greek_and_coptic, :in_gujarati, :in_gurmukhi, :in_halfwidth_and_fullwidth_forms, :in_hangul_compatibility_jamo, :in_hangul_jamo, :in_hangul_syllables, :in_hanunoo, :in_hebrew, :in_high_private_use_surrogates, :in_high_surrogates, :in_hiragana, :in_ipa_extensions, :in_ideographic_description_characters, :in_kanbun, :in_kangxi_radicals, :in_kannada, :in_katakana_phonetic_extensions, :in_katakana, :in_khmer_symbols, :in_khmer, :in_lao, :in_latin_extended_additional, :in_letterlike_symbols, :in_limbu, :in_low_surrogates, :in_malayalam, :in_mathematical_operators, :in_miscellaneous_symbols_and_arrows, :in_miscellaneous_symbols, :in_miscellaneous_technical, :in_mongolian, :in_myanmar, :in_number_forms, :in_ogham, :in_optical_character_recognition, :in_oriya, :in_phonetic_extensions, :in_private_use_area, :in_runic, :in_sinhala, :in_small_form_variants, :in_spacing_modifier_letters, :in_specials, :in_superscripts_and_subscripts, :in_supplemental_mathematical_operators, :in_syriac, :in_tagalog, :in_tagbanwa, :in_tai_le, :in_tamil, :in_telugu, :in_thaana, :in_thai, :in_tibetan, :in_unified_canadian_aboriginal_syllabics, :in_variation_selectors, :in_yi_radicals, :in_yi_syllables, :in_yijing_hexagram_symbols, :brahmi, :batak, :mandaic, :"age=1.1", :"age=2.0", :"age=2.1", :"age=3.0", :"age=3.1", :"age=3.2", :"age=4.0", :"age=4.1", :"age=5.0", :"age=5.1", :"age=5.2", :"age=6.0", :in_aegean_numbers, :in_alchemical_symbols, :in_ancient_greek_musical_notation, :in_ancient_greek_numbers, :in_ancient_symbols, :in_arabic_extended_a, :in_arabic_mathematical_alphabetic_symbols, :in_arabic_presentation_forms_a, :in_arabic_presentation_forms_b, :in_arabic_supplement, :in_avestan, :in_balinese, :in_bamum, :in_bamum_supplement, :in_batak, :in_brahmi, :in_buginese, :in_byzantine_musical_symbols, :in_cjk_compatibility_ideographs_supplement, :in_cjk_strokes, :in_cjk_unified_ideographs_extension_b, :in_cjk_unified_ideographs_extension_c, :in_cjk_unified_ideographs_extension_d, :in_carian, :in_chakma, :in_cham, :in_combining_diacritical_marks_supplement, :in_common_indic_number_forms, :in_coptic, :in_counting_rod_numerals, :in_cuneiform, :in_cuneiform_numbers_and_punctuation, :in_cypriot_syllabary, :in_cyrillic_extended_a, :in_cyrillic_extended_b, :in_deseret, :in_devanagari_extended, :in_domino_tiles, :in_egyptian_hieroglyphs, :in_emoticons, :in_enclosed_alphanumeric_supplement, :in_enclosed_ideographic_supplement, :in_ethiopic_extended, :in_ethiopic_extended_a, :in_ethiopic_supplement, :in_georgian_supplement, :in_glagolitic, :in_gothic, :in_hangul_jamo_extended_a, :in_hangul_jamo_extended_b, :in_imperial_aramaic, :in_inscriptional_pahlavi, :in_inscriptional_parthian, :in_javanese, :in_kaithi, :in_kana_supplement, :in_kayah_li, :in_kharoshthi, :in_latin_1_supplement, :in_latin_extended_a, :in_latin_extended_b, :in_latin_extended_c, :in_latin_extended_d, :in_lepcha, :in_linear_b_ideograms, :in_linear_b_syllabary, :in_lisu, :in_lycian, :in_lydian, :in_mahjong_tiles, :in_mandaic, :in_mathematical_alphanumeric_symbols, :in_meetei_mayek, :in_meetei_mayek_extensions, :in_meroitic_cursive, :in_meroitic_hieroglyphs, :in_miao, :in_miscellaneous_mathematical_symbols_a, :in_miscellaneous_mathematical_symbols_b, :in_miscellaneous_symbols_and_pictographs, :in_modifier_tone_letters, :in_musical_symbols, :in_myanmar_extended_a, :in_nko, :in_new_tai_lue, :in_no_block, :in_ol_chiki, :in_old_italic, :in_old_persian, :in_old_south_arabian, :in_old_turkic, :in_osmanya, :in_phags_pa, :in_phaistos_disc, :in_phoenician, :in_phonetic_extensions_supplement, :in_playing_cards, :in_rejang, :in_rumi_numeral_symbols, :in_samaritan, :in_saurashtra, :in_sharada, :in_shavian, :in_sora_sompeng, :in_sundanese, :in_sundanese_supplement, :in_supplemental_arrows_a, :in_supplemental_arrows_b, :in_supplemental_punctuation, :in_supplementary_private_use_area_a, :in_supplementary_private_use_area_b, :in_syloti_nagri, :in_tags, :in_tai_tham, :in_tai_viet, :in_tai_xuan_jing_symbols, :in_takri, :in_tifinagh, :in_transport_and_map_symbols, :in_ugaritic, :in_unified_canadian_aboriginal_syllabics_extended, :in_vai, :in_variation_selectors_supplement, :in_vedic_extensions, :in_vertical_forms, :chakma, :meroitic_cursive, :meroitic_hieroglyphs, :miao, :sharada, :sora_sompeng, :takri, :"age=6.1", :cased_letter, :combining_mark, :in_bassa_vah, :in_caucasian_albanian, :in_combining_diacritical_marks_extended, :in_coptic_epact_numbers, :in_duployan, :in_elbasan, :in_geometric_shapes_extended, :in_grantha, :in_khojki, :in_khudawadi, :in_latin_extended_e, :in_linear_a, :in_mahajani, :in_manichaean, :in_mende_kikakui, :in_modi, :in_mro, :in_myanmar_extended_b, :in_nabataean, :in_old_north_arabian, :in_old_permic, :in_ornamental_dingbats, :in_pahawh_hmong, :in_palmyrene, :in_pau_cin_hau, :in_psalter_pahlavi, :in_shorthand_format_controls, :in_siddham, :in_sinhala_archaic_numbers, :in_supplemental_arrows_c, :in_tirhuta, :in_warang_citi, :caucasian_albanian, :bassa_vah, :duployan, :elbasan, :grantha, :pahawh_hmong, :khojki, :linear_a, :mahajani, :manichaean, :mende_kikakui, :modi, :mro, :old_north_arabian, :nabataean, :palmyrene, :pau_cin_hau, :old_permic, :psalter_pahlavi, :siddham, :khudawadi, :tirhuta, :warang_citi, :"age=6.2", :"age=6.3", :"age=7.0", :ahom, :anatolian_hieroglyphs, :hatran, :multani, :old_hungarian, :signwriting, :in_ahom, :in_anatolian_hieroglyphs, :in_cjk_unified_ideographs_extension_e, :in_cherokee_supplement, :in_early_dynastic_cuneiform, :in_hatran, :in_multani, :in_old_hungarian, :in_supplemental_symbols_and_pictographs, :in_sutton_signwriting, :"age=8.0", :prepended_concatenation_mark, :adlam, :bhaiksuki, :marchen, :newa, :osage, :tangut, :in_adlam, :in_bhaiksuki, :in_cyrillic_extended_c, :in_glagolitic_supplement, :in_ideographic_symbols_and_punctuation, :in_marchen, :in_mongolian_supplement, :in_newa, :in_osage, :in_tangut, :in_tangut_components, :"age=9.0", :"age=10.0", :in_cjk_unified_ideographs_extension_f, :in_kana_extended_a, :in_masaram_gondi, :in_nushu, :in_soyombo, :in_syriac_supplement, :in_zanabazar_square, :emoji, :emoji_component, :emoji_modifier, :emoji_modifier_base, :emoji_presentation, :xposixpunct, :regional_indicator, :masaram_gondi, :nushu, :soyombo, :zanabazar_square, :"age=11.0", :in_chess_symbols, :in_dogra, :in_georgian_extended, :in_gunjala_gondi, :in_hanifi_rohingya, :in_indic_siyaq_numbers, :in_makasar, :in_mayan_numerals, :in_medefaidrin, :in_old_sogdian, :in_sogdian, :dogra, :gunjala_gondi, :hanifi_rohingya, :makasar, :medefaidrin, :old_sogdian, :sogdian, :"age=12.0", :in_egyptian_hieroglyph_format_controls, :in_elymaic, :in_nandinagari, :in_nyiakeng_puachue_hmong, :in_ottoman_siyaq_numbers, :in_small_kana_extension, :in_symbols_and_pictographs_extended_a, :in_tamil_supplement, :in_wancho, :egyptian_hieroglyph_format_controls, :elymaic, :nandinagari, :nyiakeng_puachue_hmong, :ottoman_siyaq_numbers, :small_kana_extension, :symbols_and_pictographs_extended_a, :tamil_supplement, :wancho, :"age=12.1"], :nonproperty=>[:letter, :uppercase_letter, :lowercase_letter, :titlecase_letter, :modifier_letter, :other_letter, :mark, :nonspacing_mark, :spacing_mark, :enclosing_mark, :number, :decimal_number, :letter_number, :other_number, :punctuation, :connector_punctuation, :dash_punctuation, :open_punctuation, :close_punctuation, :initial_punctuation, :final_punctuation, :other_punctuation, :symbol, :math_symbol, :currency_symbol, :modifier_symbol, :other_symbol, :separator, :space_separator, :line_separator, :paragraph_separator, :other, :control, :format, :surrogate, :private_use, :unassigned, :any, :assigned, :newline, :alnum, :alpha, :ascii, :blank, :cntrl, :digit, :graph, :lower, :print, :punct, :space, :upper, :word, :xdigit, :arabic, :imperial_aramaic, :armenian, :avestan, :balinese, :bamum, :bengali, :bopomofo, :braille, :buginese, :buhid, :canadian_aboriginal, :carian, :cham, :cherokee, :coptic, :cypriot, :cyrillic, :devanagari, :deseret, :egyptian_hieroglyphs, :ethiopic, :georgian, :glagolitic, :gothic, :greek, :gujarati, :gurmukhi, :hangul, :han, :hanunoo, :hebrew, :hiragana, :old_italic, :javanese, :kayah_li, :katakana, :kharoshthi, :khmer, :kannada, :kaithi, :tai_tham, :lao, :latin, :lepcha, :limbu, :linear_b, :lisu, :lycian, :lydian, :malayalam, :mongolian, :meetei_mayek, :myanmar, :nko, :ogham, :ol_chiki, :old_turkic, :oriya, :osmanya, :phags_pa, :inscriptional_pahlavi, :phoenician, :inscriptional_parthian, :rejang, :runic, :samaritan, :old_south_arabian, :saurashtra, :shavian, :sinhala, :sundanese, :syloti_nagri, :syriac, :tagbanwa, :tai_le, :new_tai_lue, :tamil, :tai_viet, :telugu, :tifinagh, :tagalog, :thaana, :thai, :tibetan, :ugaritic, :vai, :old_persian, :cuneiform, :yi, :inherited, :common, :unknown, :ascii_hex_digit, :alphabetic, :cased, :changes_when_casefolded, :changes_when_casemapped, :changes_when_lowercased, :changes_when_titlecased, :changes_when_uppercased, :case_ignorable, :bidi_control, :dash, :deprecated, :default_ignorable_code_point, :diacritic, :extender, :grapheme_base, :grapheme_extend, :grapheme_link, :hex_digit, :hyphen, :id_continue, :ideographic, :id_start, :ids_binary_operator, :ids_trinary_operator, :join_control, :logical_order_exception, :lowercase, :math, :noncharacter_code_point, :other_alphabetic, :other_default_ignorable_code_point, :other_grapheme_extend, :other_id_continue, :other_id_start, :other_lowercase, :other_math, :other_uppercase, :pattern_syntax, :pattern_white_space, :quotation_mark, :radical, :sentence_terminal, :soft_dotted, :terminal_punctuation, :unified_ideograph, :uppercase, :variation_selector, :white_space, :xid_start, :xid_continue, :in_alphabetic_presentation_forms, :in_arabic, :in_armenian, :in_arrows, :in_basic_latin, :in_bengali, :in_block_elements, :in_bopomofo_extended, :in_bopomofo, :in_box_drawing, :in_braille_patterns, :in_buhid, :in_cjk_compatibility_forms, :in_cjk_compatibility_ideographs, :in_cjk_compatibility, :in_cjk_radicals_supplement, :in_cjk_symbols_and_punctuation, :in_cjk_unified_ideographs_extension_a, :in_cjk_unified_ideographs, :in_cherokee, :in_combining_diacritical_marks_for_symbols, :in_combining_diacritical_marks, :in_combining_half_marks, :in_control_pictures, :in_currency_symbols, :in_cyrillic_supplement, :in_cyrillic, :in_devanagari, :in_dingbats, :in_enclosed_alphanumerics, :in_enclosed_cjk_letters_and_months, :in_ethiopic, :in_general_punctuation, :in_geometric_shapes, :in_georgian, :in_greek_extended, :in_greek_and_coptic, :in_gujarati, :in_gurmukhi, :in_halfwidth_and_fullwidth_forms, :in_hangul_compatibility_jamo, :in_hangul_jamo, :in_hangul_syllables, :in_hanunoo, :in_hebrew, :in_high_private_use_surrogates, :in_high_surrogates, :in_hiragana, :in_ipa_extensions, :in_ideographic_description_characters, :in_kanbun, :in_kangxi_radicals, :in_kannada, :in_katakana_phonetic_extensions, :in_katakana, :in_khmer_symbols, :in_khmer, :in_lao, :in_latin_extended_additional, :in_letterlike_symbols, :in_limbu, :in_low_surrogates, :in_malayalam, :in_mathematical_operators, :in_miscellaneous_symbols_and_arrows, :in_miscellaneous_symbols, :in_miscellaneous_technical, :in_mongolian, :in_myanmar, :in_number_forms, :in_ogham, :in_optical_character_recognition, :in_oriya, :in_phonetic_extensions, :in_private_use_area, :in_runic, :in_sinhala, :in_small_form_variants, :in_spacing_modifier_letters, :in_specials, :in_superscripts_and_subscripts, :in_supplemental_mathematical_operators, :in_syriac, :in_tagalog, :in_tagbanwa, :in_tai_le, :in_tamil, :in_telugu, :in_thaana, :in_thai, :in_tibetan, :in_unified_canadian_aboriginal_syllabics, :in_variation_selectors, :in_yi_radicals, :in_yi_syllables, :in_yijing_hexagram_symbols, :brahmi, :batak, :mandaic, :"age=1.1", :"age=2.0", :"age=2.1", :"age=3.0", :"age=3.1", :"age=3.2", :"age=4.0", :"age=4.1", :"age=5.0", :"age=5.1", :"age=5.2", :"age=6.0", :in_aegean_numbers, :in_alchemical_symbols, :in_ancient_greek_musical_notation, :in_ancient_greek_numbers, :in_ancient_symbols, :in_arabic_extended_a, :in_arabic_mathematical_alphabetic_symbols, :in_arabic_presentation_forms_a, :in_arabic_presentation_forms_b, :in_arabic_supplement, :in_avestan, :in_balinese, :in_bamum, :in_bamum_supplement, :in_batak, :in_brahmi, :in_buginese, :in_byzantine_musical_symbols, :in_cjk_compatibility_ideographs_supplement, :in_cjk_strokes, :in_cjk_unified_ideographs_extension_b, :in_cjk_unified_ideographs_extension_c, :in_cjk_unified_ideographs_extension_d, :in_carian, :in_chakma, :in_cham, :in_combining_diacritical_marks_supplement, :in_common_indic_number_forms, :in_coptic, :in_counting_rod_numerals, :in_cuneiform, :in_cuneiform_numbers_and_punctuation, :in_cypriot_syllabary, :in_cyrillic_extended_a, :in_cyrillic_extended_b, :in_deseret, :in_devanagari_extended, :in_domino_tiles, :in_egyptian_hieroglyphs, :in_emoticons, :in_enclosed_alphanumeric_supplement, :in_enclosed_ideographic_supplement, :in_ethiopic_extended, :in_ethiopic_extended_a, :in_ethiopic_supplement, :in_georgian_supplement, :in_glagolitic, :in_gothic, :in_hangul_jamo_extended_a, :in_hangul_jamo_extended_b, :in_imperial_aramaic, :in_inscriptional_pahlavi, :in_inscriptional_parthian, :in_javanese, :in_kaithi, :in_kana_supplement, :in_kayah_li, :in_kharoshthi, :in_latin_1_supplement, :in_latin_extended_a, :in_latin_extended_b, :in_latin_extended_c, :in_latin_extended_d, :in_lepcha, :in_linear_b_ideograms, :in_linear_b_syllabary, :in_lisu, :in_lycian, :in_lydian, :in_mahjong_tiles, :in_mandaic, :in_mathematical_alphanumeric_symbols, :in_meetei_mayek, :in_meetei_mayek_extensions, :in_meroitic_cursive, :in_meroitic_hieroglyphs, :in_miao, :in_miscellaneous_mathematical_symbols_a, :in_miscellaneous_mathematical_symbols_b, :in_miscellaneous_symbols_and_pictographs, :in_modifier_tone_letters, :in_musical_symbols, :in_myanmar_extended_a, :in_nko, :in_new_tai_lue, :in_no_block, :in_ol_chiki, :in_old_italic, :in_old_persian, :in_old_south_arabian, :in_old_turkic, :in_osmanya, :in_phags_pa, :in_phaistos_disc, :in_phoenician, :in_phonetic_extensions_supplement, :in_playing_cards, :in_rejang, :in_rumi_numeral_symbols, :in_samaritan, :in_saurashtra, :in_sharada, :in_shavian, :in_sora_sompeng, :in_sundanese, :in_sundanese_supplement, :in_supplemental_arrows_a, :in_supplemental_arrows_b, :in_supplemental_punctuation, :in_supplementary_private_use_area_a, :in_supplementary_private_use_area_b, :in_syloti_nagri, :in_tags, :in_tai_tham, :in_tai_viet, :in_tai_xuan_jing_symbols, :in_takri, :in_tifinagh, :in_transport_and_map_symbols, :in_ugaritic, :in_unified_canadian_aboriginal_syllabics_extended, :in_vai, :in_variation_selectors_supplement, :in_vedic_extensions, :in_vertical_forms, :chakma, :meroitic_cursive, :meroitic_hieroglyphs, :miao, :sharada, :sora_sompeng, :takri, :"age=6.1", :cased_letter, :combining_mark, :in_bassa_vah, :in_caucasian_albanian, :in_combining_diacritical_marks_extended, :in_coptic_epact_numbers, :in_duployan, :in_elbasan, :in_geometric_shapes_extended, :in_grantha, :in_khojki, :in_khudawadi, :in_latin_extended_e, :in_linear_a, :in_mahajani, :in_manichaean, :in_mende_kikakui, :in_modi, :in_mro, :in_myanmar_extended_b, :in_nabataean, :in_old_north_arabian, :in_old_permic, :in_ornamental_dingbats, :in_pahawh_hmong, :in_palmyrene, :in_pau_cin_hau, :in_psalter_pahlavi, :in_shorthand_format_controls, :in_siddham, :in_sinhala_archaic_numbers, :in_supplemental_arrows_c, :in_tirhuta, :in_warang_citi, :caucasian_albanian, :bassa_vah, :duployan, :elbasan, :grantha, :pahawh_hmong, :khojki, :linear_a, :mahajani, :manichaean, :mende_kikakui, :modi, :mro, :old_north_arabian, :nabataean, :palmyrene, :pau_cin_hau, :old_permic, :psalter_pahlavi, :siddham, :khudawadi, :tirhuta, :warang_citi, :"age=6.2", :"age=6.3", :"age=7.0", :ahom, :anatolian_hieroglyphs, :hatran, :multani, :old_hungarian, :signwriting, :in_ahom, :in_anatolian_hieroglyphs, :in_cjk_unified_ideographs_extension_e, :in_cherokee_supplement, :in_early_dynastic_cuneiform, :in_hatran, :in_multani, :in_old_hungarian, :in_supplemental_symbols_and_pictographs, :in_sutton_signwriting, :"age=8.0", :prepended_concatenation_mark, :adlam, :bhaiksuki, :marchen, :newa, :osage, :tangut, :in_adlam, :in_bhaiksuki, :in_cyrillic_extended_c, :in_glagolitic_supplement, :in_ideographic_symbols_and_punctuation, :in_marchen, :in_mongolian_supplement, :in_newa, :in_osage, :in_tangut, :in_tangut_components, :"age=9.0", :"age=10.0", :in_cjk_unified_ideographs_extension_f, :in_kana_extended_a, :in_masaram_gondi, :in_nushu, :in_soyombo, :in_syriac_supplement, :in_zanabazar_square, :emoji, :emoji_component, :emoji_modifier, :emoji_modifier_base, :emoji_presentation, :xposixpunct, :regional_indicator, :masaram_gondi, :nushu, :soyombo, :zanabazar_square, :"age=11.0", :in_chess_symbols, :in_dogra, :in_georgian_extended, :in_gunjala_gondi, :in_hanifi_rohingya, :in_indic_siyaq_numbers, :in_makasar, :in_mayan_numerals, :in_medefaidrin, :in_old_sogdian, :in_sogdian, :dogra, :gunjala_gondi, :hanifi_rohingya, :makasar, :medefaidrin, :old_sogdian, :sogdian, :"age=12.0", :in_egyptian_hieroglyph_format_controls, :in_elymaic, :in_nandinagari, :in_nyiakeng_puachue_hmong, :in_ottoman_siyaq_numbers, :in_small_kana_extension, :in_symbols_and_pictographs_extended_a, :in_tamil_supplement, :in_wancho, :egyptian_hieroglyph_format_controls, :elymaic, :nandinagari, :nyiakeng_puachue_hmong, :ottoman_siyaq_numbers, :small_kana_extension, :symbols_and_pictographs_extended_a, :tamil_supplement, :wancho, :"age=12.1"]} is complete contains no duplicate type/token combinations Regexp::Syntax::V1_8_6 implements lookahead assertion implements nlookahead assertion implements number backref implements backslash escape implements literal escape implements bell escape implements backspace escape implements escape escape implements form_feed escape implements newline escape implements carriage escape implements tab escape implements vertical_tab escape implements dot escape implements alternation escape implements zero_or_one escape implements zero_or_more escape implements one_or_more escape implements bol escape implements eol escape implements group_open escape implements group_close escape implements interval_open escape implements interval_close escape implements set_open escape implements set_close escape implements control escape implements meta_sequence escape implements capture group implements close group implements options group implements options_switch group implements named group implements atomic group implements passive group implements comment group implements zero_or_one quantifier implements zero_or_more quantifier implements one_or_more quantifier implements zero_or_one_reluctant quantifier implements zero_or_more_reluctant quantifier implements one_or_more_reluctant quantifier implements interval quantifier implements interval_reluctant quantifier does not implement lookbehind assertion does not implement nlookbehind assertion does not implement name_ref backref does not implement number_ref backref does not implement number_rel_ref backref does not implement name_recursion_ref backref does not implement number_recursion_ref backref does not implement name_call backref does not implement number_call backref does not implement number_rel_call backref does not implement zero_or_one_possessive quantifier does not implement zero_or_more_possessive quantifier does not implement one_or_more_possessive quantifier Regexp::Syntax::V1_9_1 implements hex escape implements octal escape implements codepoint escape implements codepoint_list escape implements hex type implements nonhex type implements zero_or_one quantifier implements zero_or_more quantifier implements one_or_more quantifier implements zero_or_one_reluctant quantifier implements zero_or_more_reluctant quantifier implements one_or_more_reluctant quantifier implements zero_or_one_possessive quantifier implements zero_or_more_possessive quantifier implements one_or_more_possessive quantifier Regexp::Syntax::V1_9_3 implements brahmi property implements batak property implements mandaic property implements age=1.1 property implements age=2.0 property implements age=2.1 property implements age=3.0 property implements age=3.1 property implements age=3.2 property implements age=4.0 property implements age=4.1 property implements age=5.0 property implements age=5.1 property implements age=5.2 property implements age=6.0 property implements brahmi nonproperty implements batak nonproperty implements mandaic nonproperty implements age=1.1 nonproperty implements age=2.0 nonproperty implements age=2.1 nonproperty implements age=3.0 nonproperty implements age=3.1 nonproperty implements age=3.2 nonproperty implements age=4.0 nonproperty implements age=4.1 nonproperty implements age=5.0 nonproperty implements age=5.1 nonproperty implements age=5.2 nonproperty implements age=6.0 nonproperty Regexp::Syntax::V2_0_0 implements age=6.1 property implements age=6.1 nonproperty does not implement newline property does not implement newline nonproperty Regexp::Syntax::V2_2_0 implements caucasian_albanian property implements bassa_vah property implements duployan property implements elbasan property implements grantha property implements pahawh_hmong property implements khojki property implements linear_a property implements mahajani property implements manichaean property implements mende_kikakui property implements modi property implements mro property implements old_north_arabian property implements nabataean property implements palmyrene property implements pau_cin_hau property implements old_permic property implements psalter_pahlavi property implements siddham property implements khudawadi property implements tirhuta property implements warang_citi property implements age=6.2 property implements age=6.3 property implements age=7.0 property implements caucasian_albanian nonproperty implements bassa_vah nonproperty implements duployan nonproperty implements elbasan nonproperty implements grantha nonproperty implements pahawh_hmong nonproperty implements khojki nonproperty implements linear_a nonproperty implements mahajani nonproperty implements manichaean nonproperty implements mende_kikakui nonproperty implements modi nonproperty implements mro nonproperty implements old_north_arabian nonproperty implements nabataean nonproperty implements palmyrene nonproperty implements pau_cin_hau nonproperty implements old_permic nonproperty implements psalter_pahlavi nonproperty implements siddham nonproperty implements khudawadi nonproperty implements tirhuta nonproperty implements warang_citi nonproperty implements age=6.2 nonproperty implements age=6.3 nonproperty implements age=7.0 nonproperty Regexp::Syntax aliases ruby/1.8.6 to Regexp::Syntax::V1_8_6 aliases ruby/1.8 to Regexp::Syntax::V1_8_6 aliases ruby/1.9.1 to Regexp::Syntax::V1_9_1 aliases ruby/1.9 to Regexp::Syntax::V1_9_3 aliases ruby/2.0.0 to Regexp::Syntax::V1_9 aliases ruby/2.0 to Regexp::Syntax::V2_0_0 aliases ruby/2.1 to Regexp::Syntax::V2_0_0 aliases ruby/2.2.0 to Regexp::Syntax::V2_0_0 aliases ruby/2.2.10 to Regexp::Syntax::V2_0_0 aliases ruby/2.2 to Regexp::Syntax::V2_0_0 aliases ruby/2.3.0 to Regexp::Syntax::V2_3_0 aliases ruby/2.3 to Regexp::Syntax::V2_3_0 aliases ruby/2.4.0 to Regexp::Syntax::V2_4_0 aliases ruby/2.4.1 to Regexp::Syntax::V2_4_1 aliases ruby/2.5.0 to Regexp::Syntax::V2_4_1 aliases ruby/2.5 to Regexp::Syntax::V2_5_0 aliases ruby/2.6.0 to Regexp::Syntax::V2_5_0 aliases ruby/2.6.2 to Regexp::Syntax::V2_6_2 aliases ruby/2.6.3 to Regexp::Syntax::V2_6_3 aliases ruby/2.6 to Regexp::Syntax::V2_6_3 future alias warning Regexp::Token #offset #length #to_h #next #previous Finished in 1.49 seconds (files took 0.99975 seconds to load) 1561 examples, 0 failures ┌──────────────────────────────────────────────────────────────────────────────┐ │ dh_ruby --install finished │ └──────────────────────────────────────────────────────────────────────────────┘ dh_installdocs -i -O--buildsystem=ruby dh_ruby_fixdocs -i -O--buildsystem=ruby dh_installchangelogs -i -O--buildsystem=ruby dh_installsystemduser -i -O--buildsystem=ruby dh_perl -i -O--buildsystem=ruby dh_link -i -O--buildsystem=ruby dh_strip_nondeterminism -i -O--buildsystem=ruby dh_compress -X.rb -i -O--buildsystem=ruby dh_fixperms -i -O--buildsystem=ruby dh_missing -i -O--buildsystem=ruby dh_ruby_fixdepends -i -O--buildsystem=ruby dh_installdeb -i -O--buildsystem=ruby dh_gencontrol -i -O--buildsystem=ruby dpkg-gencontrol: warning: Depends field of package ruby-regexp-parser: substitution variable ${shlibs:Depends} used, but is not defined dh_md5sums -i -O--buildsystem=ruby dh_builddeb -i -O--buildsystem=ruby dpkg-deb: building package 'ruby-regexp-parser' in '../ruby-regexp-parser_2.1.1-2_all.deb'. dpkg-genbuildinfo --build=all -O../ruby-regexp-parser_2.1.1-2_all.buildinfo dpkg-genchanges --build=all -O../ruby-regexp-parser_2.1.1-2_all.changes dpkg-genchanges: info: binary-only arch-indep upload (source code and arch-specific packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: running special hook: sync-out /build/ruby-regexp-parser-1TPn7q /tmp/ruby-regexp-parser-2.1.1-2t93b38gv I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.OL6p8G4N5o... I: success in 3517.7101 seconds md5: ruby-regexp-parser_2.1.1-2_all.deb: OK sha1: ruby-regexp-parser_2.1.1-2_all.deb: OK sha256: ruby-regexp-parser_2.1.1-2_all.deb: OK Checksums: OK