Merhaba
Birinci örnekte metoda gönderilen metinin nokta(). ve tire(-) haricinde özel karakter içerip içermediğini kontrol ediyoruz.
static boolean isProductNumberValid(EcoResProductNumber _ecoResProductNumber )
{
Str MatchPattern ="[^a-zA-Z0-9\-.]";
System.Text.RegularExpressions.Match myMatch;
;
myMatch = System.Text.RegularExpressions.Regex::Match(_ecoResProductNumber,
MatchPattern);
return !myMatch.get_Success();
}
İkinci örnekte ise gönderilen metindeki özel karakterleri tire(-) ile değiştiriyoruz. Regex ile köşeli parantez “[ ]” ve ters sılaş “\” karakterlerini değiştiremedim. Bu yüzden ax’ın strReplace() metodunu kullanarak değiştirmek zorunda kaldım.
static EcoResProductNumber clearProductNumber(EcoResProductNumber _EcoResProductNumber)
{
Str Pattern = "[ :;,/+*'@_#!|$½%&(){}^~<> ]";
EcoResProductNumber ecoResProductNumber;
;
ecoResProductNumber =System.Text.RegularExpressions.Regex::Replace(_EcoResProductNumber,
Pattern, "-");
ecoResProductNumber = strReplace(ecoResProductNumber ,'[',"-");
ecoResProductNumber = strReplace(ecoResProductNumber ,']',"-");
ecoResProductNumber = strReplace(ecoResProductNumber ,'\\',"-");
return ecoResProductNumber;
}
Bu metodları Global sınıfına ekledim. Kullanımı çok basit.
static void SEC_FD_RegEx(Args _args)
{
;
if(Global::isProductNumberValid("SEC.s-f.sdf."))
{
info("Kod doğru.");
}
info(Global::clearProductNumber("SEC D:;,/+*'@_#!|%&(){}^~[] "));
}

Selamlar.