in reply to Regular Exp. in foreach loop Help!
Gives:-34765-<br>-22333-<br>-333489-<br>-99867-<br>-22340-<br>-23456-<br>-3229-<br>*XLM8876*<br>*AMP7765*<br>*WQP22349*<br>use warnings; use strict; my @account = qw(34765-22333-333489-99867-22340-23456-3229 XLM8876 AMP +7765 WQP22349); my @chk_acc = map {split('-')} @account; foreach my $checked (@chk_acc) { # chomp(); if ($checked =~ /^(\w{3})(\d{4,7})/ig) { # it should print the accounts starting with letters here print "*$checked*<br>"; } else { # else the rest of the accounts not starting with any letters print"-$checked-<br>"; } }
should be sufficient (\w includes upper and lowercase characters). However, what if there are more than 7 digits following? This RE would still match, did you mean /^\w{3}\d{4,7}$/?if ($checked =~ /^\w{3}\d{4,7}/)
|
|---|