minte9
LearnRemember



Atomic

Atomic grouping never gives up to force regex to match.
 
#!/bin/perl -l
=begin

Atomic grouping (?> )

The string ¡Hola! is match by ¡.*!, 
but is not match by atomic grouping ¡(?>.*)!

In either case, .* first internaly matches as much as it can (¡Hola!)
Then gives up some of what is match to force the regex to match (the final !)
This doesn't happen when there is a atomic grouping

=cut

$a = "¡Hola!";
$b = "¡Hola!";

print ($a =~ m/¡(.*)!/);    # Hola
print ($b =~ m/¡(?>.*)!/);  # Null // not matching



  Last update: 478 days ago