in reply to Re^2: regex search for words with one digit
in thread regex search for words with one digit

Hello AnomalousMonk,

You make excellent points. Having read over this thread, I think I would now approach this task in a more long-winded — but hopefully safer — way by addressing the requirements separately:

use strict; use warnings; my $text = "John P5ete 1 Andrew Richard58 Nic4k Le7on5 Ab5%&=-/zz."; my @words = split /\s+/, $text; my @names; for my $word (@words) { my @chars = $word =~ /[A-Z]/gi; my @digits = $word =~ /\d/g; my @symbols = $word =~ /\W/g; push @names, $word if @chars && @digits == 1 && !@symbols; } print "@names\n";

Output:

19:27 >perl 2057_SoPW.pl P5ete Nic4k 19:27 >

This may or may not be exactly what the OP intended, but breaking down the code into separate parts like this at least makes it easier to tweak as and when the requirements are clarified.

To the OP:

Cheers,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,