Thread Mehrzeiliger regex matcht nicht inline (3 answers)
Opened by emwede at 2007-03-12 18:34

emwede
 2007-03-12 18:34
#74974 #74974
User since
2007-03-12
2 Artikel
BenutzerIn
[default_avatar]
Ich lade nächtlich per svn einige Dateien vom Server auf ein Testsystem. Diese sollen (nur in der lokalen Kopie und diese soll nicht eingecheckt werden) bei jedem svn-Export einige automatische Modifikationen erfahren. So soll z.B. in der "function output" hinter dem Text "Zeile2" der Text "printed after regex\n" eingefügt werden.

Die "test"-Datei sieht wie folgt aus:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
output()
#kommentar
call output();
#kommentar
#und noch einer
function output(){
Zeile1;
Zeile2;
Zeile3;
Zeile4;
}
output();
#kommentar
call output();
#kommentar
#und noch einer
Zeile1;
Zeile2;
Zeile3;
                   

Der regex
Code: (dl )
function output\(\).*?Zeile2
matcht sehr schön genau den Abschnitt, nach dem ich meinen Text einfügen will.

Leider krieg ich folgenden perl Einzeiler nicht dazu das Pattern zu matchen.

Code: (dl )
perl -ni -e 'print;print "printed after regex\n" if($_ =~ /function output\(\).*?Zeile2/)' test 



Dotall modifier direkt hinter dem zweiten/des regex wurde auch schon probiert.

Alle Tipps willkommen.

Danke und Gruß
emwede\n\n

<!--EDIT|emwede|1173717327-->

View full thread Mehrzeiliger regex matcht nicht inline