[Gelöst] Regular Expressions in NAV verwenden
Verfasst: 24. Juni 2010 11:29
Hallo,
ist es möglich Regular Expressions in NAV zu verwenden?
Gruß
Ralf
ist es möglich Regular Expressions in NAV zu verwenden?
Gruß
Ralf
Die deutschsprachige Microsoft Dynamics® Community
http://www.msdynamics.de/
Contact - OnPreDataItem()
SETFILTER(Contact."E-Mail", '<>''''');
CREATE(RegExp);
RegExp.Pattern('^([\w-]+\.)*?[\w-]+@[\w-]+\.([\w-]+\.)*?[\w]+$');
Contact - OnAfterGetRecord()
IF RegExp.Test(Contact."E-Mail") THEN
CurrReport.SKIP;
ralf5 hat geschrieben:
- Code:
Contact - OnPreDataItem()
SETFILTER(Contact."E-Mail", '<>''''');
CREATE(RegExp);
RegExp.Pattern('^([\w-]+\.)*?[\w-]+@[\w-]+\.([\w-]+\.)*?[\w]+$');
Contact - OnAfterGetRecord()
IF RegExp.Test(Contact."E-Mail") THEN
CurrReport.SKIP;
ralf5 hat geschrieben:Kurze Erläuterung zu dem verwendeten Muster:
Das erste \w steht für ein beliebiges Wortzeichen (inkl. Unterstrich). Durch das anschließende +-Zeichen wird festgelegt, dass auch mehrere aufeinanderfolgende Wortzeichen zulässig sind. \. bedeutet, dass auf die Wortzeichen ein Punkt folgen muss. Durch Angabe von *? wird festgelegt, dass es sich bei der bisherigen Musterfestlegung um eine optionale Gruppe handelt, sich diese Gruppe jedoch auch wiederholen darf. Das zweite \w bedeutet, dass hier wieder ein Wortzeichen folgen muss. Durch Angabe des nachfolgenden +-Zeichens wird festgelegt, dass sich das Wortzeichen beliebig wiederholen darf, aber mindestens eines vorhanden sein muss, ehe dann durch Angabe von @ das @-Zeichen folgen muss. Der zweite Teil des Musters nach dem @-Zeichen entspricht weitestgehend dem des ersten Teils.
Quelle: http://www.vbarchiv.net/tipps/tipp_1311 ... n-net.html
Notwendige Variable:
Name LDN_Regex
DataType DotNet
Subtype System.Text.RegularExpressions.Regex.'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
ValidateText(PT_Text : Text[250];PT_RegEx : Text[250]) result : Boolean
result := LDN_Regex.IsMatch(PT_Text, PT_RegEx);
Danis hat geschrieben:In der C/AL Open Library werden übrigens auch einige RegEx Funktionen zur Verfügung gestellt:
hier zB. RegexReplace