فرض کنید که میخواهید درستی ساختار یک متن پیچیده رو بررسی کنید، مثلا ببینید که آدرس آی پی وارد شده درست هستش یا نه، و یا مثلا میخواهید قسمتی از یک متن رو جدا کنید. در این حالت 2 راه حل دارید.
اول اینکه کاراکتر ها رو جدا کنید و با توکن درستی متن رو بررسی کنید. شبیه کارهایی که تو کامپایلر انجام میشه.
راه بهتر استفاده از regular expression هستش. در این حالت شما یک قالب برای متن خود میسازید و متن خود را با آن مقایسه میکنید. نوشتن این قالب بسیار ساده هستش، اما فهمیدن اون و در نتیجه اشکال زدایی آن سخت هستش. مثلا قالب زیر برای شناسایی آدرس آی پی
\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}
(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b
راه حل این مشکل یک وبسایت ساده هستش که به صورت زنده قالب شما رو روی متن دلخواه شما اعمال میکنه و نتیجه رو راحت میتونین ببینین.
اما ایرادش چیه؟
مثل همیشه، با فارسی مشکل داره