regex مقدماتی

الگو با m//، اتصال با =~، کلاس‌های کاراکتری \d \w \s.

پرل = پادشاه regex

موتور regex پرل استانداردی است که بقیه زبان‌ها کپی کرده‌اند. بیایید از پایه شروع کنیم!

الگوی ساده

my $str = "Hello World";

if ($str =~ /World/) {
  say "پیدا شد!";
}
if ($str =~ /xyz/) {
  say "این چاپ نمی‌شود";
}
عملگر =~ یعنی «این رشته را با این الگو تطبیق بده». اگر الگو جایی در رشته باشد، true برمی‌گردد.

!~ — برعکس

if ($str !~ /Python/) {
  say "Python ندارد";
}

کلاس‌های کاراکتری

الگومعنیمثال تطبیق
\dرقم5
\wحرف/رقم/_a, 5, _
\sفاصلهspace, tab
.هر کاراکتریa, !, 5
[aeiou]یکی از این‌هاa
[a-z]بازهm
[^abc]به‌جز این‌هاd

تکرارکننده‌ها

الگومعنی
*صفر یا بیشتر
+یک یا بیشتر
?صفر یا یک
{3}دقیقاً ۳ بار
{2,4}۲ تا ۴ بار

لنگرها

الگومعنی
^اول رشته
$آخر رشته

مثال‌های عملی

my $phone = "0912-123-4567";
if ($phone =~ /^\d{4}-\d{3}-\d{4}$/) {
  say "فرمت تلفن معتبر!";
}

my $zip = "12345";
say "ZIP معتبر" if $zip =~ /^\d{5}$/;

پرچم i — بی‌توجه به حروف

my $s = "Hello World";
if ($s =~ /hello/i) {
  say "با i پیدا شد!";      { حروف بزرگ/کوچک مهم نیست }
}

خلاصه

این مبحث بخشی از دوره آموزش کامل پرل است.

ابزارهای مرتبط