Hi,
I am trying to write a regular expression in perl to check if the string end's with "numbers-numbers" or "-numbers".
I experimented something like m/\d*-\d*$/
, but this is not solving my problem.
Can anyone help me in writing this expression?
my $str1 = "abcd123-4565";
my $str2 = "abcd-4565";
if ( $str1 =~ /\D+\d+-\d+$/ ) {
print "Match pattern1 str1\n";
}
if ( $str1 =~ /\D+-\d+$/ ) {
print "Match pattern2 str1\n";
}
if ( $str2 =~ /\D+\d+-\d+$/ ) {
print "Match pattern1 str2\n";
}
if ( $str2 =~ /\D+-\d+$/ ) {
print "Match pattern2 str2\n";
}
Use:
m/(\d+)?-\d+$/
Note that will match
lastword 23-45
theword -45
abc23-34
asdf-23