# 1 2
#1234567890123456789012345678
map/(^\s*[^:]*[^:\s])/,@list
####
#!/usr/bin/perl -w
use strict;
my @T = (
'1 :yyyyy blah blah',
'2 : yyyyy blah blah',
'3 : ',
'4 :',
'5:yyyyy blah blah',
'6: yyyyy blah blah',
'7: ',
'8:',
' : yyyyy blah blah',
' :yyyyy blah blah',
': yyyyy blah blah',
':yyyyy blah blah',
'9 yyyyy blah blah',
'10 yyyyy blah blah',
'11 ',
'12',
' : ',
' :',
': ',
':',
' ',
'',
'13 andmore:',
'14 andmore : blah',
' 15 : foo',
' 16 andmore : foo',
);
@T = map {($_,$_."\n")} @T;
sub by { print "--- By @_ -------------\n"; }
my @list;
# 1 2 3
# 1234567890123456789012345678901234567
@list=@T;by 'sauoq'; print "($_)\n" for map/(^\s*[^:]*[^:\s])/,@list;
@list=@T;by 'blokhead'; print "($_)\n" for map{/([^:]*?)\s*(:|$)/;$1||()}@list;
# Broken
@list=@T;by 'busuns1'; print "($_)\n" for map{s/\s*(:.*|$)//;$_||()}@list;
@list=@T;by 'Arien'; print "($_)\n" for map/(.+?)\s*(?>:|$)/,@list;
@list=@T;by 'Arien'; print "($_)\n" for map/(.+?)\b\s*(?>:|$)/,@list;
@list=@T;by 'Aristotle';print "($_)\n" for map/^([^:\s]+)/,@list;
@list=@T;by 'Aristotle';print "($_)\n" for map/^\s*([^:\s]+)/,@list;
@list=@T;by 'blokhead'; print "($_)\n" for map{/([^:]*?)(\s*\n|\s*:)/&&$1}@list;
@list=@T;by 'blokhead'; print "($_)\n" for map{/([^:]*?)\s*(\n|:)/&&$1}@list;
@list=@T;by 'jmcnmara'; print "($_)\n" for map{(split)[0]}@list;
@list=@T;by 'CountZero';print "($_)\n" for map/(.*?)\s+:/,@list;
####
--- By sauoq -------------
(1)
(1)
(2)
(2)
(3)
(3)
(4)
(4)
(5)
(5)
(6)
(6)
(7)
(7)
(8)
(8)
(9 yyyyy blah blah)
(9 yyyyy blah blah)
(10 yyyyy blah blah)
(10 yyyyy blah blah)
(11)
(11)
(12)
(12)
(13 andmore)
(13 andmore)
(14 andmore)
(14 andmore)
( 15)
( 15)
( 16 andmore)
( 16 andmore)
--- By blokhead -------------
(1)
(1)
(2)
(2)
(3)
(3)
(4)
(4)
(5)
(5)
(6)
(6)
(7)
(7)
(8)
(8)
(9 yyyyy blah blah)
(9 yyyyy blah blah)
(10 yyyyy blah blah)
(10 yyyyy blah blah)
(11)
(11)
(12)
(12)
(13 andmore)
(13 andmore)
(14 andmore)
(14 andmore)
( 15)
( 15)
( 16 andmore)
( 16 andmore)
--- By busuns1 -------------
(1)
(1
)
(2)
(2
)
(3)
(3
)
(4)
(4
)
(5)
(5
)
(6)
(6
)
(7)
(7
)
(8)
(8
)
(
)
(
)
(
)
(
)
(9 yyyyy blah blah)
(9 yyyyy blah blah)
(10 yyyyy blah blah)
(10 yyyyy blah blah)
(11)
(11)
(12)
(12)
(
)
(
)
(
)
(
)
(13 andmore)
(13 andmore
)
(14 andmore)
(14 andmore
)
( 15)
( 15
)
( 16 andmore)
( 16 andmore
)
--- By Arien -------------
(1)
(1)
(2)
(2)
(3)
(3)
(4)
(4)
(5)
(5)
(6)
(6)
(7)
(7)
(8)
(8)
( )
( )
( )
( )
(: yyyyy blah blah)
(: yyyyy blah blah)
(:yyyyy blah blah)
(:yyyyy blah blah)
(9 yyyyy blah blah)
(9 yyyyy blah blah)
(10 yyyyy blah blah)
(10 yyyyy blah blah)
(11)
(11)
(12)
(12)
( )
( )
( )
( )
(:)
(:)
(:)
(:)
( )
( )
(13 andmore)
(13 andmore)
(14 andmore)
(14 andmore)
( 15)
( 15)
( 16 andmore)
( 16 andmore)
--- By Arien -------------
(1)
(1)
(2)
(2)
(3)
(3)
(4)
(4)
(5)
(5)
(6)
(6)
(7)
(7)
(8)
(8)
( : yyyyy blah blah)
( : yyyyy blah blah)
( :yyyyy blah blah)
( :yyyyy blah blah)
(: yyyyy blah blah)
(: yyyyy blah blah)
(:yyyyy blah blah)
(:yyyyy blah blah)
(9 yyyyy blah blah)
(9 yyyyy blah blah)
(10 yyyyy blah blah)
(10 yyyyy blah blah)
(11)
(11)
(12)
(12)
(13 andmore)
(13 andmore)
(14 andmore)
(14 andmore)
( 15)
( 15)
( 16 andmore)
( 16 andmore)
--- By Aristotle -------------
(1)
(1)
(2)
(2)
(3)
(3)
(4)
(4)
(5)
(5)
(6)
(6)
(7)
(7)
(8)
(8)
(9)
(9)
(10)
(10)
(11)
(11)
(12)
(12)
(13)
(13)
(14)
(14)
--- By Aristotle -------------
(1)
(1)
(2)
(2)
(3)
(3)
(4)
(4)
(5)
(5)
(6)
(6)
(7)
(7)
(8)
(8)
(9)
(9)
(10)
(10)
(11)
(11)
(12)
(12)
(13)
(13)
(14)
(14)
(15)
(15)
(16)
(16)
--- By blokhead -------------
(1)
(1)
(2)
(2)
(3)
(3)
(4)
(4)
(5)
(5)
(6)
(6)
(7)
(7)
(8)
(8)
()
()
()
()
()
()
()
()
()
(9 yyyyy blah blah)
()
(10 yyyyy blah blah)
()
(11)
()
(12)
()
()
()
()
()
()
()
()
()
()
()
()
(13 andmore)
(13 andmore)
(14 andmore)
(14 andmore)
( 15)
( 15)
( 16 andmore)
( 16 andmore)
--- By blokhead -------------
(1)
(1)
(2)
(2)
(3)
(3)
(4)
(4)
(5)
(5)
(6)
(6)
(7)
(7)
(8)
(8)
()
()
()
()
()
()
()
()
()
(9 yyyyy blah blah)
()
(10 yyyyy blah blah)
()
(11)
()
(12)
()
()
()
()
()
()
()
()
()
()
()
()
(13 andmore)
(13 andmore)
(14 andmore)
(14 andmore)
( 15)
( 15)
( 16 andmore)
( 16 andmore)
--- By jmcnmara -------------
(1)
(1)
(2)
(2)
(3)
(3)
(4)
(4)
(5:yyyyy)
(5:yyyyy)
(6:)
(6:)
(7:)
(7:)
(8:)
(8:)
(:)
(:)
(:yyyyy)
(:yyyyy)
(:)
(:)
(:yyyyy)
(:yyyyy)
(9)
(9)
(10)
(10)
(11)
(11)
(12)
(12)
(:)
(:)
(:)
(:)
(:)
(:)
(:)
(:)
(13)
(13)
(14)
(14)
(15)
(15)
(16)
(16)
--- By CountZero -------------
(1)
(1)
(2)
(2)
(3)
(3)
(4)
(4)
()
()
()
()
()
()
()
()
(14 andmore)
(14 andmore)
( 15)
( 15)
( 16 andmore)
( 16 andmore)