Free Subdomain and Domain with DNS, A Record and CNAME آشنايي با SQL Server 2008 و زبان T-SQL
انتشار پست جدید

Regex برای آدرس های آی پی

سلام

امروز در این ساعت می خواهم قطعه کدی از Regex را برای شما معرفی کنم که برای بدست آوردنش آزمایش و آزمون خطا های زیادی کردم چون با توجه به جستجو های زیادی که انجام دادم نتوانستم به پاسخ دلخواهم برسم.
اما پیش از آن یک مقدمه و توضیحی درباره RegEx یا Regular Expression خواهم داد.

مقدمه

Regular Expression چیست؟ Regular Expression را به اختصار Regex یا گاهی Regexp نیز می گویند که جهت بررسی قواعد کارکتری است که برنامه نویسی به توابع مربوط به آن می دهد تا بتواند یک سری رشته های منظم را از نا منظم جدا کند برای نمونه بیرون آوردن آدرس آی پی از یک رشته کلمات یا پاراگراف که دارای شماره های گوناگون مانند شماره تماس، کد پستی و یا مختصات جغرافیایی استفاده می شود.
این نوع توابع در تکنولوژی های مختلف و ویرایش های تازه زبان های برنامه نویسی گوناگون نیز وجود دارد و برنامه نویسان می توانند استفاده کنند. فناوری هایی مانند .NET و زبان های برنامه نویسی ای مانند PHP و ASP

رشته کد مورد نظر

((([۲-۲]{۱,۱}[۰-۴]{۱,۱}[۰-۹]{۱,۱})|([۲-۲]{۱,۱}[۵-۵]{۱,۱}[۰-۵]{۱,۱})|([۱-۱]{۱,۱}[۰-۹]{۲,۲})|([۱-۹]{۱,۱}[۰-۹]{۱,۱})|([۱-۹]{۱,۱}))(\.))((([۲-۲]{۱,۱}[۰-۴]{۱,۱}[۰-۹]{۱,۱})|([۲-۲]{۱,۱}[۵-۵]{۱,۱}[۰-۵]{۱,۱})|([۱-۱]{۱,۱}[۰-۹]{۲,۲})|([۱-۹]{۱,۱}[۰-۹]{۱,۱})|([۰-۹]{۱,۱}))(\.))((([۲-۲]{۱,۱}[۰-۴]{۱,۱}[۰-۹]{۱,۱})|([۲-۲]{۱,۱}[۵-۵]{۱,۱}[۰-۵]{۱,۱})|([۱-۱]{۱,۱}[۰-۹]{۲,۲})|([۱-۹]{۱,۱}[۰-۹]{۱,۱})|([۰-۹]{۱,۱}))(\.))((([۲-۲]{۱,۱}[۰-۴]{۱,۱}[۰-۹]{۱,۱})|([۲-۲]{۱,۱}[۵-۵]{۱,۱}[۰-۵]{۱,۱})|([۱-۱]{۱,۱}[۰-۹]{۲,۲})|([۱-۹]{۱,۱}[۰-۹]{۱,۱})|([۱-۹]{۱,۱})))

نمونه کد PHP

$regex="((([2-2]{1,1}[0-4]{1,1}[0-9]{1,1})|([2-2]{1,1}[5-5]{1,1}[0-5]{1,1})|([1-1]{1,1}[0-9]{2,2})|([1-9]{1,1}[0-9]{1,1})|([1-9]{1,1}))(\.))((([2-2]{1,1}[0-4]{1,1}[0-9]{1,1})|([2-2]{1,1}[5-5]{1,1}[0-5]{1,1})|([1-1]{1,1}[0-9]{2,2})|([1-9]{1,1}[0-9]{1,1})|([0-9]{1,1}))(\.))((([2-2]{1,1}[0-4]{1,1}[0-9]{1,1})|([2-2]{1,1}[5-5]{1,1}[0-5]{1,1})|([1-1]{1,1}[0-9]{2,2})|([1-9]{1,1}[0-9]{1,1})|([0-9]{1,1}))(\.))((([2-2]{1,1}[0-4]{1,1}[0-9]{1,1})|([2-2]{1,1}[5-5]{1,1}[0-5]{1,1})|([1-1]{1,1}[0-9]{2,2})|([1-9]{1,1}[0-9]{1,1})|([1-9]{1,1})))";
$ipaddress= "192.168.0.0";

<?php 
       if(preg_match("/^$regex$/", $ipaddress)) 
       { 
               return true; 
       } 
?>

این کد را آزمایش کنید، بهره و لذت ببرید چون برای درست کردنش کلی زحمت کشیدم.

Structured Data, Review
Title: Regex برای آدرس های آی پی
Reviewed by Saeb Khanzadeh
Rating: 4.5
Summary: Regex Code for IP Validating
Description: اما پیش از آن یک مقدمه و توضیحی درباره RegEx یا Regular Expression خواهم داد.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *