(бревенчатые собачки) (бревенчатые нужды)
^\(log (.*)[^)]\)\s*\(log (.*)[^)]\)$
Он работает, за исключением отсутствующего символа в конце «s», как:
собачке нужно
(бревенчатые собачки) (бревенчатые нужды)
^\(log (.*)[^)]\)\s*\(log (.*)[^)]\)$
Он работает, за исключением отсутствующего символа в конце «s», как:
собачке нужно
^\(log (.*)\)\s*\(log (.*)\)$
Вам не нужно отрицать )
.
[^)]
ест ваши s
-ы. Зачем тебе это?
my $s = '(log doggies) (log needs)';
say for $s =~ /^\(log (.*)\)\s*\(log (.*)\)$/;
Выход:
doggies
needs
Похоже, что ваш .*
должен быть [^)]*
, т. е. *любое количество символов, не являющихся закрывающими скобками. Предоставление
^\(log ([^)]*)\)\s*\(log ([^)]*)\)$
Или вы можете получить все экземпляры (log xxx)
с помощью
while ( $s =~ /\(log ([^)]*)\)/g ) {
print $1, "\n";
}