1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | my @lines = <main::DATA>; foreach my $line (@lines) { chomp($line); print "[" . (($line =~ m/(?=.*?(?<!@ )(\b\w+\b)).*\(@.*\1.*\)/)? "yes" : "no") . "]\t$1\t$line\n"; } __DATA__ abc (@ abc ) abc (@ (& abc ) ) abc (& def (@ abc ) ) (& (& abc def ) (@ abc ) ) (& def (& abc ) (@ abc ) ) abc (@ abc ) abc (@ def ) abc (& abc) (@ abc ) abc (@ abc ) (@ abc ) |
bXkgQGxpbmVzID0gPG1haW46OkRBVEE+OwoKZm9yZWFjaCBteSAkbGluZSAoQGxpbmVzKSB7CiAgY2hvbXAoJGxpbmUpOwogIHByaW50ICJbIiAuICgoJGxpbmUgPX4gbS8oPz0uKj8oPzwhQCApKFxiXHcrXGIpKS4qXChALipcMS4qXCkvKT8gInllcyIgOiAibm8iKSAuICJdXHQkMVx0JGxpbmVcbiI7Cn0KCl9fREFUQV9fCmFiYyAoQCBhYmMgKQphYmMgKEAgKCYgYWJjICkgKQphYmMgKCYgZGVmIChAIGFiYyApICkKKCYgKCYgYWJjIGRlZiApIChAIGFiYyApICkKKCYgZGVmICgmIGFiYyApIChAIGFiYyApICkKYWJjCihAIGFiYyApCmFiYyAoQCBkZWYgKQphYmMgKCYgYWJjKQooQCBhYmMgKSBhYmMKKEAgYWJjICkgKEAgYWJjICk=
-
upload with new input
-
result: Success time: 0s memory: 4596 kB returned value: 0
[yes] abc abc (@ abc ) [yes] abc abc (@ (& abc ) ) [yes] abc abc (& def (@ abc ) ) [yes] abc (& (& abc def ) (@ abc ) ) [yes] abc (& def (& abc ) (@ abc ) ) [no] abc abc [no] abc (@ abc ) [no] abc abc (@ def ) [no] abc abc (& abc) [yes] abc (@ abc ) abc [no] abc (@ abc ) (@ abc )


