Следующая программа perl имеет регулярное выражение, написанное для моей цели. Но это также фиксирует результаты, присутствующие в строке. Как я могу получить только строки, разделенные пробелами/новыми символами/вкладками?Как найти все слова, начинающиеся с | b и заканчивающиеся на | b. (Пример: «наречие» и «балалайка»)
Тест данных Я присутствует ниже: http://sainikhil.me/stackoverflow/dictionaryWords.txt
use strict;
use warnings;
sub print_a_b {
my $file = shift;
$pattern = qr/(a|b|A|B)\S*(a|b|A|B)/;
open my $fp, $file;
my $cnt = 0;
while(my $line = <$fp>) {
if($line =~ $pattern) {
print $line;
$cnt = $cnt+1;
}
}
print $cnt;
}
print_a_b @ARGV;
ПОЦЕЛУЙ '\ б [аб] \ S * [аб] \ b' –
Более четкому форму' (? я) (?
@AvinashRaj Я всегда стараюсь избегать первых взглядов (положительных, отрицательных), но в зависимости от исходного материала это может иметь смысл. По крайней мере, по крайней мере, нет возврата. – VonC