PostMaster Filter / Regexp / () liefert immer 1

Hilfe zu Znuny Problemen aller Art
Locked
Mr1337
Znuny newbie
Posts: 4
Joined: 13 Jul 2010, 01:27
Znuny Version: 2.4

PostMaster Filter / Regexp / () liefert immer 1

Post by Mr1337 »

Dank dem tollten Forum kam ich bei meiner Demo OTRS-Konfiguration echt weit! Klasse

Jetzt sitze ich aber schon seit 3h an einem Problem und denke da ist irgendwo ein Bug? Konfigurations-Problem in Perl/Apache?

Ich will mithilfe einer Filterregel eine Nummer "Zahl" aus dem Betreff der eingehenden E-Mail lesen und diese in einem Frei-Text-Feld speichern:
Der Filter sieht folgend aus:
Treffer:
Subject:Zahl: ()
Setze:
X-OTRS-TicketKey1: Zahl
X-OTRS-TicketValue1: [***]

Das funktioniert eigentlich auch, außer das das Feld "Zahl" IMMER 1 als Wert enthält. Warum zur Hölle?

Im Log:
Aktualisiert: FreeKey1=Zahl:;FreeText1=1;

Ein Feld FreeText1 gibt es sonst nicht? Für Hilfe bin ich dankbar!
MIG
Znuny newbie
Posts: 59
Joined: 05 Aug 2008, 10:27
Znuny Version: 2.4.x

Re: PostMaster Filter / Regexp / () liefert immer 1

Post by MIG »

Hi,

wenn ich die richtig verstehe, möchtest du eine Zahl (aus mehreren Ziffern bestehend) herausfiltern und diese wieder in ein freitext feld setzen, oder ?

Damit du deinen regulären Ausdruck prüfen kanns, schau mal auf http://www.fileformat.info/tool/regex.htm

Zahlen bestehen aus den Ziffern 0-9; d.h. im regex müsste etwas drinnen stehen, wie

Code: Select all

[0-9]
[:digit:]
Zu den Ausdrücken kann dir folgendes auch weiterhelfen:
http://www.regex-tester.de/regex_help.html
http://www.traum-projekt.com/forum/73-w ... sions.html
http://www.tutorials.de/forum/coders-ta ... rofis.html

Gruß
m
OTRS: 2.4.7 mit ITSM 2.0.3
OS: Debian Lenny
Apache 2.2.9
MySql 5.0.51a
--
OTRS: 2.3.4 mit ITSM 1.2.2
OS: Debian Etch
Apache: 2.2
MySQL: 5.0.32
Mr1337
Znuny newbie
Posts: 4
Joined: 13 Jul 2010, 01:27
Znuny Version: 2.4

Re: PostMaster Filter / Regexp / () liefert immer 1

Post by Mr1337 »

Danke erstmal! Das Problem ist genau wie von dir beschrieben.

Wirklich durchblicken tu ich es aber immer noch nicht.

Wenn ich folgendes schreibe:

Treffer:
Subject:Zahl: [0-9] oder [:digit:]
Setze:
X-OTRS-TicketKey1: Zahl
X-OTRS-TicketValue1: [***]

Erhalte ich wieder 1.

Wenn ich

Subject:Zahl: ()
Setze:
X-OTRS-TicketKey1: Zahl
X-OTRS-TicketValue1: [0-9] oder [:digit:]

erhalte ich [0-9] oder [:digit:]

bei

Subject:Zahl: [0-9] oder [:digit:]
Setze:
X-OTRS-TicketKey1: Zahl
X-OTRS-TicketValue1: [0-9] oder [:digit:]

erhalte ich wieder [0-9] oder [:digit:]

Irgend eine Idee? Die Regexp-Tester sind für PHP/Java? Ist da die Syntax gleich? Was ist denn die Regular Expression (()?) Das Replacement? ([***]?)
Danke für die Hilfe!
Daniel Obee
Moderator
Posts: 644
Joined: 19 Jun 2007, 17:11
Znuny Version: various
Real Name: Daniel Obée
Location: Berlin

Re: PostMaster Filter / Regexp / () liefert immer 1

Post by Daniel Obee »

Was Du da versuchst geht nicht mit dem PostmasterFilter. Der speichert die Ergebnisse der RegEx nicht zwischen, um sie danach verfügbar zu machen. Perl speichert die Muster zwar automatisch in Variablen, aber ich bezweifele, dass man die im Postmasterfilter benutzen kann. Dazu ist ein wenig mehr Magie notwendig...

Gruß
Daniel
Locked