اکشن Regular Expressions در نینتکس یک اکشن بسیار قدرتمند است که به ما در نینتکس امکانات فوق العاده­ای میدهد مثل:

  • جداکردن قسمتی از یک متن با استفاده از یک شرط (Splitting text)
  • جایگزین کردن یک متن داخل یک متن (replacing text)
  • خواندن یک تکه متن از داخل یک متن
  • و امکانات بیشمار دیگری که در ادامه خواهیم دید.

Regular Expression یا به صورت مخفف regex یک پترن برای جستجو توالی کاراکترها در یک متن است که به صورت جامع در همه زبان‌­های برنامه‌نویسی در حال استفاده است (مانند جاوااسکریپت، ریکت، سی شارپ، جاوا، پایتون و..). برای یادگیری قواعد این پترن شما باید با صرف زمان اصول اولیه این پترن را فرابگیرید تا بتوانید از آن استفاده کنید ولی در صورتی که بخواهید برای مثال در نینتکس از آن استفاده نمایید تا ایمیل یک شخص را اعتبارسنجی کنید، میتوانید از الگوهای regex آماده در اینترنت استفاده کنید برای مثال با مراجعه به این سایت میتوانید با جستجو در الگوها، الگوی مورد نظر خود را پیدا نموده و یا با تغییری اندک به الگوی مورد نظر خود برسید.

در سایت شیرپوینت خود یک فرآیند نینتکس جدید بسازید و در Workflow designer نینتکس اکشن Regular expression را به یک فرآیند اضافه نمایید:

Regular Expressions در نینتکس

اکنون تنظیمات این اکشن را باز نمایید.

Regular Expressions در نینتکس

اکنون با بیان مثال‌هایی استفاده از این اکشن را توضیح خواهیم داد.

Regex با Split:

با استفاده از این عملیات ما قادر خواهیم بود کالکشنی از آیتم­‌ها را از یک متن استخراج کنیم برای مثال جهت جداکردن فیلد یوزر و دامین از ایمیل شخص میتوان از اکشن زیر استفاده نمود.

Regular Expressions در نینتکس

در قسمت پترن میتوان الگوی regex را برای یافتن توالی کاراکتر مشخص نمود برای مثال اینجا ما به دنبال @ در ایمیل هستیم. در قسمت متن ورودی نیز میتوان از لیست یا پارامترهای فرآیند ایمیل شخص را وارد نماییم. سپس خروجی در متغیری از جنس Collection ذخیره نماییم و در ادامه فرآیند نینتکس از آن استفاده نماییم.

یا در مثالی دیگر در صورتی که آرایه ای از شناسه های یک فیلد از نوع lookup را بخواهیم در یک متغیر کالکشن داشته باشیم میتوانیم در قسمت پترن از الگوی ;# استفاده و تمامی شناسه­های فیلد Lookup چندتایی را در یک کالکشن ذخیره نماییم.

Regex با check match:

با استفاده از این عملیات ما قادر خواهیم بود تا یک متن را با الگویی خاص بسنجیم برای مثال چک کنیم که آیا آدرس پست الکترونیک شخص قبل از ارسال ایمیل درست است یا خیر

یا بررسی کنیم شماره همراه شخص به درستی وارد شده است یا خیر؟

Regular Expressions در نینتکس

همین طور که در تصویر مشاهده میکنید برای الگوی پترن از ^(9|(09))(((1)|(3))([0-9])|(20)|(21))(\d{7}) استفاده کرده ایم و ورودی شماره موبایل شخص در فرم را وارد نموده ایم.

میتوانیم با زدن دکمه اجرای آزمایشی این دستور را تست کنیم.

Regular Expressions در نینتکس

Regex با Replace text:

با استفاده از این عملیات در نینتکس ما قادر خواهیم بود تا رشته کاراکتری را در متن جستجو نموده و آنرا با رشته­ای دیگر از کاراکترها جایگزین نماییم. گرچه این کار را در Build String نینتکس هم میتوانیم با تابع fn-replace انجام دهیم ولی در Regex همانطور که مشاهده کردیم برای پیدا کردن یک متن امکانات بسیار بیشتری داریم.

در تصویر زیربا استفاده از پترن (?!w{1,}\.)(\w+\.?)([a-zA-Z]+)(\.\w+) قسمت دامین ایمیل کاربر با ایمیلی که در قسمت Replacement ذکر شده جایگزین میشود.

Regular Expressions در نینتکس
Regular Expressions در نینتکس