I wrote a short perl script for you:
#!/usr/bin/perl
my $string1 = "now is the time for all good"; # ends with good
my $string2 = "now is the time for all good/"; # ends with good/
my $string3 = "now is the time for all good/men to come"; # ends with
good/something
my $regex = "^(.*good)?(/)?(.*)\$";
if ($string1 =~ m/$regex/) {
printf "string1 \$1=$1 \$2=$2 \$3=$3\n";
}
if ($string2 =~ m/$regex/) {
printf "string2 \$1=$1 \$2=$2 \$3=$3\n";
}
if ($string3 =~ m/$regex/) {
printf "string3 \$1=$1 \$2=$2 \$3=$3\n";
}
knute@knute-XPS-8700:~$ ./match.pl
string1 $1=now is the time for all good $2= $3=
string2 $1=now is the time for all good $2=/ $3=
string3 $1=now is the time for all good $2=/ $3=men to come
It might be simpler to capture the whole string and remove the /? Some
actual data to see what you are trying to do would be helpful.
^ - start
(.*good) - capture anything including the word good
?(/) - capture a / if there is one
?(.*)\$ - capture the remainder of the string if there is any
There may very well be differences between perl's regex and apache's.
knute...
On 11/10/25 14:36, Darryl Baker wrote:
Is there a mailing list where I can ask regular expression help?
I want to match line that end with a word or the word and a slash or the
word slash anything ‘/(.*)$’
I know the last case but making sure the regex covers the first two
cases is what I am unsure about.
Examples:
https://www.example.com/foobar
https://www.example.con/foobar/
https://www.example.com/foobar/anything
*Darryl Baker, *GSEC, GCLD** (he/him/his)
Sr. System Administrator
Distributed Application Platform Services
*Northwestern University*
4^th Floor
2020 Ridge Avenue
Evanston, IL 60208-0801
[email protected] <mailto:[email protected]>_
(847) 467-6674 <tel:+18474676674>
--
Knute Johnson
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]