از این پست به بعد سعی میکنم مطالب رو تا حد امکان خلاصه و بدون کد نویسی مطرح کنم و توضیحات اضافه و کد نویسی رو موکول میکنم به زمانی که در ارتباط با موضوع مورد ابهام سوالی پرسیده شود .
علامت Plus یا +
اگه در عبارت پترن مثلاً +a بود بدین معنیه که حرف a حداقل یکبار در متن تکرار شده باشه یا مثلا اگه عبارت متن بصورت +abc بود بدین معنیه که اگه در متن کلمه سه کاراکتری abc وجود داشت کاراکتر c اون میتونه یک یا چند بار تکرار بشه . مثلا حروف abc میتونه بصورت abccccc هم در متن باشه و قابل تطبیقه
علامت Star یا ستاره
اگه در عبارت پترن مثلاً *k بود بدین معنیه که حرف k میتونه نباشه یا اگه بود میتونه یک یا چند بار در متن تکرار بشه . بفرض متن ما vba is my language میباشه و می بینیم که حرف k در این متن نیست . در این حالت قاعده پترن درسته و خروجی هم true میباشه. یا مثلاً اگه عبارت پترن بصورت *abc بود معنیش اینه که در متن دو حرف ab باید باشه ولی اگه حرف c وجود هم نداشت مشکلی نیست و اگه هست میتونه یک یا چند بار تکرار بشه . در این حالت قاعده *abc برای ab یا abc یا abccccccccc در متن مطابقت داره
علامت optional یا ?
علامت ؟ به معنی اختیاری بودن می باشه
اگه در عبارت پترن مثلاً ؟k بود بدین معنیه که حرف k میتونه در متن هم باشه هم نباشه . یا مثلاً اگه عبارت پترن بصورت ؟abc بود معنیش اینه که در متن دو حرف ab باید باشه ولی حرف c هم میتونه در کنار این دو حرف هم باشه هم نباشه . در این حالت قاعده ؟abc برای رشته ab یا abc در متن صادقه . یا در عبارت
4?123 شامل عددهای1234 و 124 میشه