اکشن Regular Expressions در نینتکس یک اکشن بسیار قدرتمند است که به ما در نینتکس امکانات فوق العادهای میدهد مثل:
Regular Expression یا به صورت مخفف regex یک پترن برای جستجو توالی کاراکترها در یک متن است که به صورت جامع در همه زبانهای برنامهنویسی در حال استفاده است (مانند جاوااسکریپت، ریکت، سی شارپ، جاوا، پایتون و..). برای یادگیری قواعد این پترن شما باید با صرف زمان اصول اولیه این پترن را فرابگیرید تا بتوانید از آن استفاده کنید ولی در صورتی که بخواهید برای مثال در نینتکس از آن استفاده نمایید تا ایمیل یک شخص را اعتبارسنجی کنید، میتوانید از الگوهای regex آماده در اینترنت استفاده کنید برای مثال با مراجعه به این سایت میتوانید با جستجو در الگوها، الگوی مورد نظر خود را پیدا نموده و یا با تغییری اندک به الگوی مورد نظر خود برسید.
در سایت شیرپوینت خود یک فرآیند نینتکس جدید بسازید و در Workflow designer نینتکس اکشن Regular expression را به یک فرآیند اضافه نمایید:
اکنون تنظیمات این اکشن را باز نمایید.
اکنون با بیان مثالهایی استفاده از این اکشن را توضیح خواهیم داد.
با استفاده از این عملیات ما قادر خواهیم بود کالکشنی از آیتمها را از یک متن استخراج کنیم برای مثال جهت جداکردن فیلد یوزر و دامین از ایمیل شخص میتوان از اکشن زیر استفاده نمود.
در قسمت پترن میتوان الگوی regex را برای یافتن توالی کاراکتر مشخص نمود برای مثال اینجا ما به دنبال @ در ایمیل هستیم. در قسمت متن ورودی نیز میتوان از لیست یا پارامترهای فرآیند ایمیل شخص را وارد نماییم. سپس خروجی در متغیری از جنس Collection ذخیره نماییم و در ادامه فرآیند نینتکس از آن استفاده نماییم.
یا در مثالی دیگر در صورتی که آرایه ای از شناسه های یک فیلد از نوع lookup را بخواهیم در یک متغیر کالکشن داشته باشیم میتوانیم در قسمت پترن از الگوی ;# استفاده و تمامی شناسههای فیلد Lookup چندتایی را در یک کالکشن ذخیره نماییم.
با استفاده از این عملیات ما قادر خواهیم بود تا یک متن را با الگویی خاص بسنجیم برای مثال چک کنیم که آیا آدرس پست الکترونیک شخص قبل از ارسال ایمیل درست است یا خیر
یا بررسی کنیم شماره همراه شخص به درستی وارد شده است یا خیر؟
همین طور که در تصویر مشاهده میکنید برای الگوی پترن از ^(9|(09))(((1)|(3))([0-9])|(20)|(21))(\d{7}) استفاده کرده ایم و ورودی شماره موبایل شخص در فرم را وارد نموده ایم.
میتوانیم با زدن دکمه اجرای آزمایشی این دستور را تست کنیم.
با استفاده از این عملیات در نینتکس ما قادر خواهیم بود تا رشته کاراکتری را در متن جستجو نموده و آنرا با رشتهای دیگر از کاراکترها جایگزین نماییم. گرچه این کار را در Build String نینتکس هم میتوانیم با تابع fn-replace انجام دهیم ولی در Regex همانطور که مشاهده کردیم برای پیدا کردن یک متن امکانات بسیار بیشتری داریم.
در تصویر زیربا استفاده از پترن (?!w{1,}\.)(\w+\.?)([a-zA-Z]+)(\.\w+) قسمت دامین ایمیل کاربر با ایمیلی که در قسمت Replacement ذکر شده جایگزین میشود.