REGEX in LO calc

Hallo zusammen,

Ich will die Funktion REGEX in einem Macro anwenden und muß festellen, dass diese Funktion nicht mehr vorhanden ist.
Ich bin mir sicher, dass ich REGEX bereits in einem sheet von Hand angewendet habe.

Hat vielleicht jemand eine Idee?

Viele Grüße
micha

LO Version: 6.3.3.2 (x64)
Build-ID: a64200df03143b798afd1ec74a12ab50359878ed
CPU-Threads: 2; BS: Windows 10.0; UI-Render: Standard; VCL: win;

Naja. BASIC hat selbst kein REGEX(), aber ein FunctionAccess Objekt hat Zugriff auf die REGEX()-Funktion von Calc. Dafür muss ThisComponent nicht etwa ein Spreadsheetdokument sein.

Kleines, hässliches Beispiel:

fa = createUnoService("com.sun.star.sheet.FunctionAccess")
r  = fa.callFunction("REGEX", Array("ballalla%&( +-/[[z $$%)%alno", "\([^\)]*\)"))  

Ergebnis: ( +-/[[z $$%)

Das ist super, genau die Lösung, danke.

Ich hatte versucht über Macro aufzeichnen die Syntax des UNOServices zu erhalten. Der Funktionsaufruf wird leider nicht protokolliert.
Gruß micha

Nebenbei: Die wirklich vielseitig anwendbare Function REGEX() verdanken wir @erAck. Er hat sie implementiert, und soweit ich das gesehen habe, gab es im Bugtracking-System nicht einmal einen entsprechenfden Featurerequest.
Ich persönlich würde es allerdings noch paradiesischer finden, wenn alle vergleichenden bzw. suchenden Funktionen einen (optionalen) Parameter hätten, der pro Aufrufstelle erlaubt zu wählen, ob man mit Literal, mir RegEx, mit WildCard, oder gemäß einer vorgewählten Einstellung (bei Spreadsheets im CellStyle, sonst fürs FunctionAccess Objekt) arbeiten will. RegEx-Suche/-Vergleich machen ja manchmal auch Probleme wenn man Literale suchen will, die in RegEx Spezialzeichen sind…

Update:
im sheet hatte ich die Funktion REGAUS verwendet.
Trotzdem, was ist mit der Funktion REGEX, die in der LO Hilfe
https://help.libreoffice.org/6.2/en-US/text/scalc/01/func_regex.html
angeführt wird?

micha

Bitte nicht das Antwort Feld benutzen wenn es keine Antwort auf die ursprüngliche Frage ist, sondern kommentieren oder die Frage editieren. Danke.

Basic (ich nehme an das meinst du mit Makro) kennt keine REGEX() Funktion.

Schade, ich war der Meinung, dass die Funktionen der Module auch in Basic zur Verfügung stehen.
Wieder was gelernt.
Danke