2013-03-06 20 views

Antwort

19

sollten Sie die passende machen faul ? verwenden.

Verwendung:

"-dhello;-egoodbye;-lcul8r" -replace "-d.*?;","-dbonjour;" 
+0

Genau das, was ich gesucht habe, danke! – muhmud

4

immer explizit sein. .* passt alles, was es kann (einschließlich des Semikolon und alles, was folgt), aber Sie wollen nur bis zum nächsten Semikolon entsprechen, so dass nur die Regex-Engine sagen, dass:

"-dhello;-egoodbye;-lcul8r" -replace "-d[^;]*;","-dbonjour;" 

[^;] jedes Zeichen außer Semikolon.

+0

Obwohl dies in diesem Fall funktioniert, es war nur ein Beispiel. Ich war wirklich auf der Suche nach einem Schalter, um die Gier abzuschalten. Aber, danke, es ist immer noch ein nützlicher Rat. – muhmud

+0

@muhmud: Sicher. Ich wollte nur ausdrücken, dass Nicht-Gerede nicht unbedingt "die kürzest mögliche Übereinstimmung" bedeutet. Sie erhalten das nur, wenn Sie genau angeben, was der Übereinstimmungsinhalt sein soll. Zum Beispiel wird '<.*?>' mit '' in '" bam> "' übereinstimmen. –

Verwandte Themen