fork download
  1. #!/usr/bin/perl -n
  2. # your code goes here
  3. use 5.010;
  4. BEGIN {
  5. my $cesta = ":(?<cesta>.*?)";
  6. our $rx= join "|", map {sprintf $_, $cesta} (q{"%s"}, q{\'%s\'}, q{>%s<}, q{\(%s\)});
  7. say $rx
  8. };
  9. say $+{cesta} while /$rx/g
Success #stdin #stdout 0.01s 19688KB
stdin
":/moje/cesta.abc"

':/moje/cesta.abc'

<url>:/moje/cesta.abc</url>

<bla><a>:/moje/cesta1.abc<b>:/moje/cesta2.abc</bla>

neco: url(:/moje/cesta.abc)

":/moje/cesta.abc' // nechci match

<url>:/moje/cesta.abc' // nechci match
stdout
":(?<cesta>.*?)"|\':(?<cesta>.*?)\'|>:(?<cesta>.*?)<|\(:(?<cesta>.*?)\)
/moje/cesta.abc
/moje/cesta.abc
/moje/cesta.abc
/moje/cesta1.abc
/moje/cesta2.abc
/moje/cesta.abc