Regex bei Exchange mail flow rule
Hallo zusammen,
ich versuche aktuell eine Exchange mail flow rule zu erstellen, welche auf ein bestimmtes Pattern im Betreff greift:
das Pattern im Betreff lautet [TempCRM#1111111111]
Die Ziffern nach dem # sind dynamisch; alles vor der ersten [ und nach der letzten ] soll nicht beachtet werden;
folgenden RegEx habe ich versucht: \s+\[TempCRM#[0-9]+]
Leider funktioniert der Filter nicht.
Kann man so einen RegEx Ausdruck überhaupt per ECP in einer Exchange rule hinterlegen?
Oder geht das nur per PowerShell?
in der GUI steht der Ausdruck dann so: '\s+\[TempCRM#[0-9]+]'
in der PS Konsole so: {\s+\[TempCRM#[0-9]+]}
ich versuche aktuell eine Exchange mail flow rule zu erstellen, welche auf ein bestimmtes Pattern im Betreff greift:
das Pattern im Betreff lautet [TempCRM#1111111111]
Die Ziffern nach dem # sind dynamisch; alles vor der ersten [ und nach der letzten ] soll nicht beachtet werden;
folgenden RegEx habe ich versucht: \s+\[TempCRM#[0-9]+]
Leider funktioniert der Filter nicht.
Kann man so einen RegEx Ausdruck überhaupt per ECP in einer Exchange rule hinterlegen?
Oder geht das nur per PowerShell?
in der GUI steht der Ausdruck dann so: '\s+\[TempCRM#[0-9]+]'
in der PS Konsole so: {\s+\[TempCRM#[0-9]+]}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1719847670
Url: https://administrator.de/forum/regex-bei-exchange-mail-flow-rule-1719847670.html
Ausgedruckt am: 22.12.2024 um 15:12 Uhr
8 Kommentare
Neuester Kommentar
Zitat von @menace:
das Pattern im Betreff lautet [TempCRM#1111111111]
Die Ziffern nach dem # sind dynamisch; alles vor der ersten [ und nach der letzten ] soll nicht beachtet werden;
folgenden RegEx habe ich versucht: \s+\[TempCRM#[0-9]+]
Leider funktioniert der Filter nicht.
Die Ziffern nach dem # sind dynamisch; alles vor der ersten [ und nach der letzten ] soll nicht beachtet werden;
folgenden RegEx habe ich versucht: \s+\[TempCRM#[0-9]+]
Leider funktioniert der Filter nicht.
Steht denn vor der ersten [ auch mindest. ein Whitespace?
Zitat von @menace:
Hallo zusammen,
ich versuche aktuell eine Exchange mail flow rule zu erstellen, welche auf ein bestimmtes Pattern im Betreff greift:
das Pattern im Betreff lautet [TempCRM#1111111111]
Die Ziffern nach dem # sind dynamisch; alles vor der ersten [ und nach der letzten ] soll nicht beachtet werden;
folgenden RegEx habe ich versucht: \s+\[TempCRM#[0-9]+]
Kann ja auch nicht funktionieren denn du erzwingst einerseits mindestens einen Whitspace Character vor dem gesuchten String und zusätzlich was noch Schlimmer ist, du hast du die eckige Klammer am Schluss nicht escaped, sollte man aber da diese ja bekanntlich ein Set von Charactern starten und beenden. Im Endeffekt war dein Pattern je nach Exchange Alter also ungültig, also besser einheitlich machen.Hallo zusammen,
ich versuche aktuell eine Exchange mail flow rule zu erstellen, welche auf ein bestimmtes Pattern im Betreff greift:
das Pattern im Betreff lautet [TempCRM#1111111111]
Die Ziffern nach dem # sind dynamisch; alles vor der ersten [ und nach der letzten ] soll nicht beachtet werden;
folgenden RegEx habe ich versucht: \s+\[TempCRM#[0-9]+]
\[TempCRM#\d+\]
Zitat von @149569:
Kann ja auch nicht funktionieren denn du erzwingst einerseits mindestens einen Whitspace Character vor dem gesuchten String und zusätzlich was noch Schlimmer ist, du hast du die eckige Klammer am Schluss nicht escaped, muss man aber das diese ja bekanntlich ein Set von Charactern im Regen starten und beenden. Im Endeffekt war dein Pattwrn also ungültig.
Kann ja auch nicht funktionieren denn du erzwingst einerseits mindestens einen Whitspace Character vor dem gesuchten String und zusätzlich was noch Schlimmer ist, du hast du die eckige Klammer am Schluss nicht escaped, muss man aber das diese ja bekanntlich ein Set von Charactern im Regen starten und beenden. Im Endeffekt war dein Pattwrn also ungültig.
Sollte man, muss man aber in .NET nicht unbedingt:
If a closing bracket or brace is not preceded by its corresponding opening character, the regular expression engine interprets it literally.
Ist ja auch logisch denn du verwendest die falsche Regel! Du musst eine Regel vom Typ Muster/Patternvergleich benutzen sonst interpretiert er den Wert natürlich als Literal wie du gerade selbst feststellst!
In der Powershell wäre das hier der richtige Parameter
-SubjectMatchesPatterns
Um Regex für den Vergleich im Subject verwenden zu können!
Guckst du
https://docs.microsoft.com/de-de/powershell/module/exchange/new-transpor ...
So wird ein Schuh draus.
In der Powershell wäre das hier der richtige Parameter
-SubjectMatchesPatterns
Um Regex für den Vergleich im Subject verwenden zu können!
Guckst du
https://docs.microsoft.com/de-de/powershell/module/exchange/new-transpor ...
New-TransportRule -Name "Meine Regel" -SubjectMatchesPatterns '\[TempCRM#\d+\]' -BlindCopyTo 'user@domain.de'
So wird ein Schuh draus.