3 Stimmen

Dreamweaver Ersetzung eines regulären Ausdrucks gefolgt von einer Zahl

Ich verwende Dreamweaver, um die Copyright-Daten auf meiner Website zu aktualisieren. Ich möchte die vorhandenen Abstände (oder deren Fehlen) zwischen den Jahren beibehalten. Beispiele: © 2002-2008 soll auf © 2002-2009 aktualisiert werden © 2003 - 2008 soll auf © 2003 - 2009 aktualisiert werden Ich verwende den folgenden regulären Ausdruck, um dies in der Dreamweaver-Funktion Suchen und Ersetzen zu erreichen Suchen: © \s *( \d {4} \s *- \s *) \d {3}[^9]

Ersetzen: © $1 2009

Hier ist das PROBLEM: Dieser Ausdruck funktioniert, hat aber das zusätzliche Leerzeichen zwischen dem Bindestrich und 2009. Wenn ich den Ersetzen-Ausdruck ohne das Leerzeichen schreibe, wie © $12009, dann sucht Dreamweaver nach der 12.009sten Ersetzung im Suchen-Ausdruck und gibt $12009 aus.

0 Stimmen

Das gleiche Problem. In PCRE kann man \{1} schreiben, um die Referenznummer zu "schützen", aber man findet die Informationen für Dreamweaver nicht. Sicherlich ${1} funktioniert nicht.

1voto

Danilo Celic Punkte 2467

Wenn Sie das - sowie das Leerzeichen davor oder danach nicht erfassen und nur die führende Jahreszahl erfassen, wird das Leben etwas einfacher: © \s *( \d {4}) \s *- \s * \d {3}[^9] dann ersetzen mit: @ $1 - 2009

Ich habe es gerade lokal ausprobiert und es hat in den folgenden Testfällen funktioniert:

© 2002- 2008
© 2002-2005
© 2002- 2006

0voto

Tim Pietzcker Punkte 311448

Ich habe Dreamweaver nicht, aber ich vermute, dass seine Regex-Engine Lookaround nicht unterstützt - zumindest diese Einführung von Adobe wird nicht erwähnt. Sie brauchen also einen Workaround. Eine Sache, die Sie tun könnten (nicht schön, aber es funktioniert):

Utilice © $1QQQQ2009 als Ersetzungszeichenfolge, und führen Sie dann einen zweiten Durchgang durch, bei dem Sie nach QQQQ und diese durch nichts zu ersetzen. Solange Sie sicher sind, dass Sie keine echten Vorkommnisse von QQQQ irgendwo in Ihrem Text :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X