PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Logik > bestimmte Regel



Muggyhorst
05.02.2014, 13:34
Hi Zusammen,

steh gerade auf dem Schlauch. Ich fummel mir gerade eine Regel für das Logik Plugin zusammen.

Ziel: Enthält der Alarmtext ein bestimmtes Stichwort bzw. ein Teil (!) davon und liegt der Einsatz in einem bestimmten Ortsteil, dann die Abarbeitung weiterführen.
Bis her habe ich:

keyword gleich B2* und
city_abbr gleich Testort oder
keyword gleich B2- und
city_abbr gleich Testort

Dies funktioniert auch wunderbar wenn das Stichwort exakt so hinterlegt ist. ABER da ich jetzt nicht ewig die Regel für jedes STichwort schreiben möchte, wollte es etwas abkürzen. Leider bekomm ich das nicht hin.

Beispielalarm: B2-GEBÄUDE*Teststrasse 1*Testort (hier soll aber schon das "B2-" reichen, damit ich mir die ganzen Ergänzungen sparen kann.)
Andere Form:
B2*Teststrasse 1*Testort (hier steht zwar nur B2 aber das * direkt dahinter ist wichtig, damit der die Regel nicht anwendet wenn zufälligerwiese im Alarmtext ein B2 sonst noch vorkommt wie bei Bundesstrasen etc.)

Kurz gesgat mir fehlt an der Stelle mit dem "gleich" ein enthält quasie ;-)

Wie kann ich das lösen das es funktioniert? Hab es auch schon mit message probiert etc. aber es muss ja dann alles exkat sein sonst geht die Logik auf false.

stefan_s
06.02.2014, 19:59
Hallo,

ich habe das Plugin geschrieben. Bisher war es nicht möglich das von dir genannte Beispiel einfach umzusetzen, ich habe es aber kurz geändert. Nun verwendet das Plugin "regex" für gleich und ungleicht. Für alle vorherigen Anwendungsfälle sollte das Plugin weiterhin wie gewohnt funktionieren.

Einen Regextester gibt es Online z.B. unter
http://www.regexplanet.com/advanced/java/index.html

Angenommen in der Alarmdata haben wir
"Parameter1" = "B2-GEBÄUDE*Teststrasse 1*Testort"

Dann kann im Logikplugin nun die folgende Zeile verwendet werden, um zu testen, ob der Parameter mit "B2-" beginnt.
Also:
Parameter1 gleich B2-.*

Über Rückmeldung, ob das dein Problem löst würde ich mich freuen :D

stefan_s
06.02.2014, 20:00
Das neue Plugin habe ich angehängt, das Passwort lautet: "logik" (ohne Anführungszeichen)
Einfach entpacken und in den FE/files/plugins Ordner verschieben.

Muggyhorst
06.02.2014, 20:24
Hallo,



ich habe das Plugin geschrieben. Bisher war es nicht möglich das von dir genannte Beispiel einfach umzusetzen, ich habe es aber kurz geändert. Nun verwendet das Plugin "regex" für gleich und ungleicht. Für alle vorherigen Anwendungsfälle sollte das Plugin weiterhin wie gewohnt funktionieren.



Einen Regextester gibt es Online z.B. unter

http://www.regexplanet.com/advanced/java/index.html



Angenommen in der Alarmdata haben wir

"Parameter1" = "B2-GEBÄUDE*Teststrasse 1*Testort"



Dann kann im Logikplugin nun die folgende Zeile verwendet werden, um zu testen, ob der Parameter mit "B2-" beginnt.

Also:

Parameter1 gleich B2-.*



Über Rückmeldung, ob das dein Problem löst würde ich mich freuen :D


Würde dann auch der andere Fall gehen? Heißt das B2* abgeglichen wird. Weil B2 ja auch Solo ohne Ergänzung vorkommt direkt mit dem Trennzeichen *

stefan_s
06.02.2014, 20:42
Würde dann auch der andere Fall gehen? Heißt das B2* abgeglichen wird. Weil B2 ja auch Solo ohne Ergänzung vorkommt direkt mit dem Trennzeichen *

Wie du auf http://www.regexplanet.com/advanced/java/index.html sehen kannst, würde in Regular expression: B2.*
für
Input 1: B2-GEBÄUDE*Teststrasse 1*Testort


"matchen", also ja, es würde mit B2.* auslösen, mit B2* jedoch nicht.

Muggyhorst
06.02.2014, 21:21
Wie du auf http://www.regexplanet.com/advanced/java/index.html sehen kannst, würde in Regular expression: B2.*

für

Input 1: B2-GEBÄUDE*Teststrasse 1*Testort





"matchen", also ja, es würde mit B2.* auslösen, mit B2* jedoch nicht.


Oh das ist schlecht. Da darf kein Punkt zwischen sein. So kommt es nicht im Alarmtext vor.

felix000
06.02.2014, 21:52
der Punkt ist die diesem Fall der Platzhalter für 'ein beliebiges Zeichen' und der Stern dahinter sagt 'beliebig oft'...

Viel Spaß damit ;-): http://de.wikipedia.org/wiki/Regex#Regul.C3.A4re_Ausdr.C3.BCcke_in_der_Praxis

Muggyhorst
07.02.2014, 07:43
der Punkt ist die diesem Fall der Platzhalter für 'ein beliebiges Zeichen' und der Stern dahinter sagt 'beliebig oft'...



Viel Spaß damit ;-): http://de.wikipedia.org/wiki/Regex#Regul.C3.A4re_Ausdr.C3.BCcke_in_der_Praxis


Naja der Stern ist in unseren Meldungen das Trennzeichen. Wie in den Beispielalarmtext zu sehen ist. ;-)

Muggyhorst
10.02.2014, 11:23
Jetzt bin ich dahinter gestiegen was ihr meint. ;-)

Es klappt nun so wie ich mir das vogrstellt habe. :-)

Super Erweiterung.

Danke! :-)

Muggyhorst
10.02.2014, 13:03
Hallo,

ich habe das Plugin geschrieben. Bisher war es nicht möglich das von dir genannte Beispiel einfach umzusetzen, ich habe es aber kurz geändert. Nun verwendet das Plugin "regex" für gleich und ungleicht. Für alle vorherigen Anwendungsfälle sollte das Plugin weiterhin wie gewohnt funktionieren.

Einen Regextester gibt es Online z.B. unter
http://www.regexplanet.com/advanced/java/index.html

Angenommen in der Alarmdata haben wir
"Parameter1" = "B2-GEBÄUDE*Teststrasse 1*Testort"

Dann kann im Logikplugin nun die folgende Zeile verwendet werden, um zu testen, ob der Parameter mit "B2-" beginnt.
Also:
Parameter1 gleich B2-.*

Über Rückmeldung, ob das dein Problem löst würde ich mich freuen :D


Klappt alles so wie ich es mir vorgestellt habe. :-)

Wird das neue Plugin dann in der nächsten Version beinhaltet sein? Da ich ja wissen muss ob ich es sonst manuell wieder ersetzten muss. ;)

Muggyhorst
10.02.2014, 15:20
Nun sind doch noch zwei kleine Problemchen enstanden.

Einmal haben wir einen Ort der aus zwei Wörtern besteht. Dies beisst sich aber irgendwie wegen dem Lehrzechen. Kann man dem Plugin irgendwie mitteilen das das ein Ort ist obwohl zwei Wörter?

keyword gleich B4-.* und
city_abbr gleich Breiter See oder
keyword gleich B4.* und
city_abbr gleich Breiter See


Des weiteren haben wir einen Ort wo Bindestrichen enthalten sind. das mag das Logik Plugin auch nicht wirklich. Wie kann man das lösen?

keyword gleich B4-.* und
city_abbr gleich Graf-Beispiel-Burg oder
keyword gleich B4.* und
city_abbr gleich Graf-Beispiel-Burg

Muggyhorst
12.02.2014, 20:36
Gibt's eine Möglichkeit?

stefan_s
12.03.2014, 23:38
Habe das gerade mal gelöst. Funktioniert folgendermaßen:

In der Zeile des Logikplugins muss der Vergleichswert in Hochkommas gestellt werden.
Also z.B:
address gleich "Straße 1"


Das neue Plugin habe ich angehängt, das Passwort lautet: "logik" (ohne Anführungszeichen)
Einfach entpacken und in den FE/files/plugins Ordner verschieben. Das Plugin wird im nächsten Release automatisch mit dabei sein.

Firefighter92bymh
10.06.2014, 13:01
Ich glaube ich versuch es mal hier:

Hi Leute,

wer kann mir mal weiterhelfen. Stehe irgendwie auf dem Schlauch.
Ich möchte für verschiedene Einsatzorte, verschiedene Alarmtexte erstellen. Ich dachte dabei an die Verwendung des Logik-Plugins.
Sprich: Außerhalb geschlossener Ortschaften soll der Alarmtext anders aussehen als innerhalb.
Beispiel innerorts:
EINSATZADRESSE:
Musterort
Musterstr. XX

Beispiel ausßerorts:
EINSATZADRESSE:
Straßenbezeichnung (AXX BAB oder BXX)
Musterstraße (Ort A Richtung Ort B)

Kann mir da jemand weiterhelfen. Habe alles als getrennte Stichworte vorliegen. Und er mach auch innerorts alles Richtig, nur ausserorts gibt er mir die Straßenbezeichnung nicht an im Alarmtext.