Файлът изглежда
[N the computer end] [M whatever] [N you look] [N why not]
Трябва само думите в скобата, с които започвам [N
така че тук искам да накарам компютъра да погледне защо не те могат или не могат да бъдат в една и съща линия
Опитах нещо подобно:
if($line =~/[N(.+?)]/)
но тя съвпада само с първата от всеки ред.
Отговори:
4 за отговор № 1Използвай g
модификатор на регулярния израз за търсене на "g" лобални съвпадения. Или така:
while ($line =~ /[N(.+?)]/g) {
# $1 contains the text between "[N" and "]"
}
Или по следния начин:
my @matches = $line =~ /[N(.+?)]/g;
# @matches contains all of the matching items of text
0 за отговор № 2
Ще трябва да я промените на цикъл while, за да прегледате всеки мач от групата Perl документация илюстрира това.