Я пытаюсь создать регулярное выражение, которое соответствует следующему:
part1@domain.com
part1: где part1 - любое 5-значное число из 0-9
part2: [необязательно] где @ domain.com - все домены, кроме @ yahoo.com
пример: 12345@yahoo.com
Я не могу найти, как вставить условное выражение врегулярное выражениеТеперь только мои регулярные выражения соответствуют цифрам + домен.Еще нужно выяснить:
- как сопоставить только цифры
- условно принимать все домены кроме @ yahoo.com
Код:
#!/usr/bin/perl
use strict;
use warnings;
my $regex1 = '^(\d{5})([@]([a-zA-Z0-9_-]+?\.[a-zA-Z]{2,6})+?)';
while ( my $line = <DATA> ) {
chomp $line;
if ($line =~ /$regex1/)
{
print "MATCH FOR:\t$line \n";
}
}
Пример данных:
1234
12345@
12345@tandberg
A12345@tandberg.com
12345
12345@tandberg.com
12345@cisco.com
12345@tandberg.amer.com
12345@tandberg.demo