Date: prev next · Thread: first prev next last
2022 Archives by date, by thread · List index


ohne es im Detail zu wissen: es sind nicht alle RegEx-Implementationen völlig kongruent bzw. sie haben Dialekte ausgebildet und manche sind auch unvollständig umgesetzt. Ich vermute, VIM ist da einfach "weiter" als LO. Ich würde das nicht unbedingt als Bug sondern als unvollstänige Implementerung begreifen. M.W. handelt es sich bei den den "regulären Ausdrücken " auch nicht um eine standadisierte "Sprache", so dass bei den unterschiedlichen Implementierungen Unterschiede auftreten.

LG
M

Am 21.12.2022 um 15:58 schrieb Matthias Müller Posteo.de:
Hallo an Alle, aber vor allem RegEx-Experten,

Gegeben sei eine Textdatei mit folgendem Inhalt (der Tab am Anfang dient nur
der Darstellung):
        hallo
        hello
        tschuess
        goodbye
        adieu
Folgende RegEx im Vim:
        :1,$s/^/\\\\server\\freigabe\\/
Man beachte den Anker für den Zeilenanfang, der steht solo da. Ergibt dieses
(gewünschte) Ergebnis:
        \\server\freigabe\hallo
        \\server\freigabe\hello
        \\server\freigabe\tschuess
        \\server\freigabe\goodbye
        \\server\freigabe\adieu
Soweit erst mal Okay, in Vim.

Jetzt das ganze auf LibO übertragen. Tabelle mit obigen Inhalt in Zellen A1
bis E1. Suchen und Ersetzen aufgerufen mit den
        - Parametern "Reguläre Ausdrücke", Suchen = "^",
          Ersetzen = "\\\\server\\freigabe\\$1"
Das Suchmuster wird Rot markiert, ich schätze, da ist was falsch. Aber was?
Das Suchen und ersetzen funktioniert nicht. Doku konsultiert, die sagt das
Carret "^" ist das Zeichen für den Anfang einer Zeile oder Tabelleninhalts
(aka Anker für Zeilenanfang). So habe ich auch RegEx mal gelernt. Sollte
eigentlich funktionieren, tut's aber nicht.

Diese Parameter funktionieren und liefern das gewünschte Ergebnis:
        - Parametern "Reguläre Ausdrücke", Suchen = "(^.*)",
          Ersetzen = "\\server\freigabe\\$1"
        - liefert       \\server\freigabe\hallo
                \\server\freigabe\hello
                \\server\freigabe\tschuess
                \\server\freigabe\goodbye
                \\server\freigabe\adieu

        - Parametern "Reguläre Ausdrücke", Suchen = "(.*)",
          Ersetzen = "\\server\freigabe\\$1"
        - liefert       \\server\freigabe\hallo
                \\server\freigabe\hello
                \\server\freigabe\tschuess
                \\server\freigabe\goodbye
                \\server\freigabe\adieu

Was stimmt da nicht? Sind meine Überlegungen falsch oder ist das ein Bug? Da
das ganze mit Vim klappt würde ich behaupten ein Bug, entweder in LibO oder in
der Doku.
Was sagen die anderen Experten?

LibO-Version: 7.4.2.3 / LibreOffice Community
Build ID: 382eef1f22670f7f4118c8c2dd222ec7ad009daf
CPU threads: 4; OS: Linux 5.10; UI render: default; VCL: kf5 (cairo+xcb)
Locale: de-DE (de_DE.UTF-8); UI: de-DE
Calc: threaded
unter Betriebssystem: Debian GNU/Linux 11
KDE-Plasma-Version: 5.20.5
KDE-Frameworks-Version: 5.78.0
Qt-Version: 5.15.2
Kernel-Version: 5.10.0-20-amd64
Art des Betriebssystems: 64-bit
Prozessoren: 4 × Intel® Core™ i5-2450M CPU @ 2.50GHz
Speicher: 7,7 GiB Arbeitsspeicher
Grafikprozessor: Mesa DRI Intel® HD Graphics 3000

VIM - Vi IMproved 8.2 (2019 Dec 12 kompiliert am Oct 01 2021 01:51:08)
Inklusive der Patches: 1-2434
Extra Patches: 8.2.3402, 8.2.3403, 8.2.3409, 8.2.3428
Verändert vonteam+vim@tracker.debian.org
Aber auch:
VIM - Vi IMproved 8.1 (2018 May 18, compiled May 18 2018 18:36:07)
MS-Windows 32 Bit GUI Version mit OLE-Unterstützung

Version: 7.2.1.2 (x64) / LibreOffice Community
Build ID: 87b77fad49947c1441b67c559c339af8f3517e22
CPU threads: 8; OS: Windows 10.0 Build 19044; UI render: Skia/Raster; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: threaded


--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.