ابهام زدایی از تطبیق عبارات منظم | HackerNoon

مختصر

در این مقاله، من می خواهم یک مرور کلی از یک راه حل کار سطح سخت منتشر شده در “Leet code” مربوط به تطبیق عبارت منظم. اجرای این کار ضروری ترین بخش های تطبیق عبارات منظم را نشان می دهد.

بیانیه وظیفه

بیانیه های وظیفه عبارتند از:

ورودی رشته حروف کوچک الفبای انگلیسی است

اندازه رشته محدود به 40 نماد است

هر نماد الفبای انگلیسی در regex باید با رشته آزمایش شده مطابقت داشته باشد

سمبل '.' انتظار دارد که بتواند با هر نمادی مطابقت داشته باشد

ترکیبی از علامت های الفبای انگلیسی با '*' درست بعد از آن انتظار می رود که هر تعداد نماد پایه (حتی 0 نماد) مطابقت داشته باشد

ترکیب '.*' انتظار می رود هر تعداد از نمادها مطابقت داشته باشد

نمونه ها:

isMatch(/*regex*/ “a”, /*string*/ “a”) درست است

isMatch(/*regex*/ “a”, /*string*/ “b”) نادرست است

isMatch(/*regex*/ “a”, /*string*/ “”) نادرست است

isMatch(/*regex*/ “a*”, /*string*/ “”) درست است

isMatch(/*regex*/ “a*”, /*string*/ “a”) درست است

isMatch(/*regex*/ “a*”, /*string*/ “b”) نادرست است

isMatch(/*regex*/ “.”, /*string*/ “”) نادرست است

isMatch(/*regex*/ “.”, /*string*/ “a”) درست است

isMatch(/*regex*/ “.”, /*string*/ “b”) درست است

isMatch(/*regex*/ “.*”, /*string*/ “badasddsazxc”) درست است

در مرحله بعد، ما …

Source link