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]

Reply via email to