Hallo,
ist es möglich Regular Expressions in NAV zu verwenden?
GruĂź
Ralf
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: Alles auswählen
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
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast