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


Hallo Markus,

das kann ich Dir auch nicht verbindlich bestätigen, aber es ist wohl mit dem POSIX-Standard übereinstimmend.

Hier https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck war folgender Link "POSIX-Spezifikation für reguläre Ausdrücke"

https://pubs.opengroup.org/onlinepubs/009695399/toc.htm (POSIX https://de.wikipedia.org/wiki/Portable_Operating_System_Interface )

zu finden.

Da dann:

9. Regular Expressions

9.3.3 BRE Special Characters

^ The circumflex shall be special when used as:
An anchor (see BRE Expression Anchoring)
The first character of a bracket expression (see RE Bracket Expression)

BRE Expression Anchoring

9.3.8 BRE Expression Anchoring

A BRE can be limited to matching strings that begin or end a line; this is called "anchoring". The circumflex and dollar sign special characters shall be considered BRE anchors in the following contexts:

A circumflex ( '^' ) shall be an anchor when used as the first character of an entire BRE. The implementation may treat the circumflex as an anchor when used as the first character of a subexpression. The circumflex shall anchor the expression (or optionally subexpression) to the beginning of a string; only sequences starting at the first character of a string shall be matched by the BRE. For example, the BRE "^ab" matches "ab" in the string "abcdef", but fails to match in the string "cdefab". The BRE "\(^ab\)" may match the former string. A portable BRE shall escape a leading circumflex in a subexpression to match a literal circumflex.

A dollar sign ( '$' ) shall be an anchor when used as the last character of an entire BRE. The implementation may treat a dollar sign as an anchor when used as the last character of a subexpression. The dollar sign shall anchor the expression (or optionally subexpression) to the end of the string being matched; the dollar sign can be said to match the end-of-string following the last character.

A BRE anchored by both '^' and '$' shall match only an entire string. For example, the BRE "^abcdef$" matches strings consisting only of "abcdef".

Ich interpretiere es so: ^ ist ein Anker. Nur den Anker kann man nicht finden, sondern nur das, was direkt am Anker dranhängt.

Ausnahmen - vim - bestätigen die Regel ;-))

Grüße
Hans-Werner :-))

------ Originalnachricht ------
Von "Markus Mueller" <markus-mueller@posteo.de>
An users@de.libreoffice.org
Datum 21.12.2022 17:08:12
Betreff Re: [de-users] RegEx in LibreOffice und Anker für Zeilenanfang

Hallo Hans-Werner,

wieder was gelernt ...

Ich bin mir aber nicht so ganz sicher, ob die ICU ein Gremium ist, das eine dem Normungsgremium ISO 
vergleichbare "Macht" hat (z.B. für die Standardisierung von C) und federführend die RegEx 
beschreibt.

LG
M

Am 21.12.2022 um 16:58 schrieb OoOHWHOoO:
Hallo Markus,

es gibt schon einen RegExp-Standard: 
https://unicode-org.github.io/icu/userguide/strings/regexp.html#regular-expression-metacharacters

In der LO-Hilfe steht, dass LO den Standard unterstützt:

For a full list of supported metacharacters and syntax, see ICU Regular Expressions documentation 
<https://unicode-org.github.io/icu/userguide/strings/regexp.html#regular-expression-metacharacters>

Die LO GUI "Suchen und Ersetzen" unterstützt nicht alles, aber im LO BasicMakro wird schon alles 
unterstützt ...

Gruß
Hans-Werner ;-))


------ Originalnachricht ------
Von "Markus Mueller" <markus-mueller@posteo.de>
An users@de.libreoffice.org
Datum 21.12.2022 16:38:06
Betreff Re: [de-users] RegEx in LibreOffice und Anker für Zeilenanfang

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

-- 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
--
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.