Thread pos($string) zwischen //g Regexes in Schleife? (9 answers)
Opened by GoodFella at 2007-03-27 18:55

GoodFella
 2007-03-28 00:57
#75446 #75446
User since
2007-01-09
192 Artikel
BenutzerIn
[default_avatar]
[quote=PerlProfi,27.03.2007, 17:29]Falls du nur den g modifier verwendest solltest du keine Probleme bekommen, oder hast du mal ein kleines Beispiel, wo es schief geht?

MfG[/quote]
jo, klar doch.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl

use strict;
use warnings;

my $str = 'bla_blub_bla';

$str =~ /([^_]+)_/sg;
print '1. Mal: Position='.pos($str).", Gefunden: $1\n";
$str =~ /([^_]+)_/sg;
print '2. Mal: Position='.pos($str).", Gefunden: $1\n";


Output:

Quote
1. Mal: Position=4, Gefunden: bla
2. Mal: Position=9, Gefunden: blub


Ich möchte, dass er IMMER bei Offset bzw. Position 0 mit der Suche anfängt, allerdings ist es lästig, immer nach dem Regex

Code (perl): (dl )
pos($str) = 0;


zu schreiben; ich verwende sehr viele Regexe in dem besagten Script, die sich genauso verhalten sollen. Gibt es dafür eine elegante Umgehung? Am besten wär natürlich ein Modifier, aber den gibts nicht afaik :)

View full thread pos($string) zwischen //g Regexes in Schleife?