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 AnchoringA 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 Zeilenanfangohne 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