| Server IP : 81.2.241.106 / Your IP : 216.73.216.165 Web Server : Apache/2.4.67 (Debian) System : Linux tranq-f.bakta.org 5.10.0-45-amd64 #1 SMP Debian 5.10.259-1 (2026-07-02) x86_64 User : lisky ( 1002) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/doc/libregexp-assemble-perl/examples/ |
Upload File : |
#!/usr/bin/perl -w
#
# naive - generate a regular expression that will lex regular expressions
# it is naive in the sense that it can't lex certain patterns, such as a
# pattern that contains nested parentheses (e.g. /ab(?:cd(?ef)?gh)+ij/ )
#
# The emitted regular expression is the default pattern that Regexp::Assemble
# uses to pick apart a string into tokens suitable for being assembled. If it
# isn't sufficiently sophisticated, you will have to supply your own lexer.
#
# Copyright (C) David Landgren 2004-2005
use strict;
my $directive = q{[bABCEGLQUXZ]};
my $punct = q{[^\\w]};
my $meta = q{[aefnrtdDwWsS]};
my $ctrl = q{c.};
my $octal = q{0\\d{2}};
my $hex = q{x(?:[\\da-fA-F]{2}|{[\\da-fA-F]{4}})};
my $named = q{N\\{\w+\\}};
my $prop = q{[Pp](?:\\{\w+\\}|.)};
my $single = q{[^\\w\\/{|}-]};
my $modifiable = qq{$punct|$meta|$ctrl|$octal|$hex|$named|$prop};
my $modifier = q{(?:[*+?]\\??|\\{\\d+(?:,\\d*)?\\}\\??)?};
my $backslash = qq{\\\\(?:$directive|[lu].|(?:$modifiable)$modifier)};
my $class = q{\\[.*?(?<!\\\\)\\]};
my $group = q{\\(.*?(?<!\\\\)\\)};
# \$Default_Lexer = qr/(?![[(\\\\]).$modifier|$backslash|$class$modifier|$group$modifier/;
print <<PATTS;
# The following patterns were generated with eg/naive
\$Default_Lexer = qr/(?![[(\\\\]).$modifier|$backslash|$class$modifier|$group$modifier/;
\$Single_Char = qr/^(?:\\\\(?:$meta|$ctrl|$single|$octal|$hex)|[^\$^])\$/;
PATTS
# my brain hurts just looking at this