Latest web development tutorials

التعبيرات العادية بيرل

التعبيرات المنتظمة (العادية التعبير) يصف مجموعة من السلاسل التي يمكن استخدامها للتحقق ما إذا كانت سلسلة تحتوي على سلسلة فرعية معينة مطابقة فرعية لا استبدال أو إزالة شرط يطابق فرعية من سلسلة وهلم جرا.

بيرل وظيفة التعابير المنطقية للغة قوية جدا، في الأساس لغة مشتركة أقوى، تصميم العديد من لغة التعبير العادية الدعم عندما تكون إشارة بيرل التعابير العادية.

تتم مطابقة ثلاثة أشكال التعابير العادية بيرل، واستبدال وإعادة التأهيل:

  • المباراة: م / / (مختصر أيضا باسم / / م حذفت)

  • استبدال: ق / / /

  • التحويل: TR / / /

هذه الأشكال الثلاثة وعادة ما تكون= ~ أو! ~مع استخدام = ~ تمثل المباراة! ~ قالوا انهم لم تطابق.


مشغل مباراة

مباراة مشغل م // استخدامها لمطابقة سلسلة أو بيان التعبير العادية، على سبيل المثال، لتتناسب مع شريط العددية $ في "المدى"، رمز على النحو التالي:

#!/usr/bin/perl

$bar = "I am w3big site. welcome to w3big site.";
if ($bar =~ /run/){
   print "第一次匹配\n";
}else{
   print "第一次不匹配\n";
}

$bar = "run";
if ($bar =~ /run/){
   print "第二次匹配\n";
}else{
   print "第二次不匹配\n";
}

البرنامج المذكور أعلاه، والناتج هو:

第一次匹配
第二次匹配

معدلات نمط مطابقة

هناك بعض النمط الشائع مطابقة المعدلات، على النحو التالي:

معدلات وصف
أنا تجاهل وضع رأس المال
م وضع خط متعددة
س تعيين مرة واحدة فقط
الصورة وضع سطر واحد "،" ماتش "\ ن" (لا يطابق الافتراضي)
س تجاهل الوضع فارغ
ز المباراة العالمية
الفريق الاستشاري بعد فشل مطابقة العالمي، يسمح للعثور سلسلة مطابقة مرة أخرى

المتغيرات التعبير العادي

سيكون موجودا بيرل بعد معالجة لتتناسب مع قيمة اسم متغير خاص ثلاثة:

  • الجزء الأمامي منالجزء مطابقة السلسلة: $ `
  • $ &: سلسلة مطابقة
  • $ ': ليس مباراة لسلاسل المتبقية

إذا كانت هذه المتغيرات الثلاثة معا، وسوف تحصل على السلسلة الأصلية.

ومن الأمثلة على ذلك ما يلي:

#!/usr/bin/perl

$string = "welcome to w3big site.";
$string =~ m/run/;
print "匹配前的字符串: $`\n";
print "匹配的字符串: $&\n";
print "匹配后的字符串: $'\n";

إخراج البرنامج المذكور أعلاه هو:

匹配前的字符串: welcome to 
匹配的字符串: run
匹配后的字符串: oob site.

مشغلي تبديل

مشغل تبديل الصورة المشغل /// هو لتتناسب مع التوسع في استخدام سلسلة جديدة لتحل محل السلسلة المحددة. الشكل الأساسي هو على النحو التالي:

s/PATTERN/REPLACEMENT/;

نمط لتتناسب مع نمط، استبدال ليحل محل سلسلة.

على سبيل المثال، "جوجل" فإننا سوف تحل محل السلسلة التالية هي "w3big":

#!/usr/bin/perl

$string = "welcome to google site.";
$string =~ s/google/w3big/;

print "$string\n";

إخراج البرنامج المذكور أعلاه هو:

welcome to w3big site.

استبدال معدل التشغيل

استبدال معدل العملية على النحو التالي:

معدلات وصف
أنا إذا قمت بإضافة "i" في المعدل، ثم سيتم إلغاء حساسية القضية العادية، و"أ" و "A" هو نفسه.
م الافتراضي تبدأ العادية "^" ونهاية "$" هو فقط لسلسلة العادية إذا اقترنت مع التعديل "م"، ثم بداية ونهاية كل خط والرجوع إلى سلسلة: في بداية كل سطر هو "^" النهاية هو "$".
س يتم تنفيذ التعبير مرة واحدة فقط.
الصورة إذا قمت بإضافة "ق" في المعدل، ثم الافتراضي. "" بالنيابة عن أي حرف باستثناء السطر الجديد سيصبح أي حرف، بما في ذلك السطر الجديد هو!
س إذا قمت بإضافة المعدل، سيتم تجاهل الأحرف فارغة التعبير، إلا إذا تم نجا منه.
ز استبدال كافة السلاسل مطابقة.
البريد كتعبير سلسلة الاستبدال

مشغلي التحويل

وفيما يلي معدلات عامل تحويل المرتبطة بها:

معدلات وصف
ج تحويل كافة الأحرف غير محددة
د حذف كل الحروف المحددة
الصورة تقلص الناتج نفسه على عدد وافر من شخصية

الأمثلة التالية في سلسلة $ المتغيرة في كافة الأحرف الصغيرة تحويلها إلى أحرف كبيرة:

#!/usr/bin/perl 

$string = 'welcome to w3big site.';
$string =~ tr/a-z/A-z/;

print "$string\n";

إخراج البرنامج المذكور أعلاه هو:

WELCOME TO w3big SITE.

يستخدم المثال التالي سلسلة / ق $ متغير تكرار الأحرف المحذوفة:

#!/usr/bin/perl

$string = 'w3big';
$string =~ tr/a-z/a-z/s;

print "$string\n";

إخراج البرنامج المذكور أعلاه هو:

runob

مزيد من الأمثلة:

$string =~ tr/\d/ /c;     # 把所有非数字字符替换为空格
$string =~ tr/\t //d;     # 删除tab和空格
$string =~ tr/0-9/ /cs    # 把数字间的其它字符替换为一个空格。

المزيد من القواعد التعبير العادية

التعبير وصف
. تتطابق مع كل الشخصيات باستثناء السطر الجديد
س؟ النتيجة 0 أو سلسلة X
س * النتيجة 0 مرات أو أكثر س سلسلة، ولكن الحد الأدنى لعدد من المباريات المحتملة
س + مباراة 1 مرات أو أكثر س سلسلة، ولكن الحد الأدنى لعدد من المباريات المحتملة
. * النتيجة 0 مرات أو أكثر أي حرف
. + مباراة 1 مرات أو أكثر من أي حرف
{M} تتطابق تماما مع سلسلة محددة من م
{M، N} مباريات متر أو أكثر أو سلسلة ن أقل المحدد
{M،} مباراة م أو سلسلة أكثر محددة
[] الذي يطابق حرف داخل []
[^] مباراة لا تفي الحروف في []
[0-9] تتناسب مع جميع أحرف رقمية
[من الألف إلى الياء] تتناسب مع جميع الأحرف الأبجدية صغيرة
[^ 0-9] تطابق كافة الأحرف غير رقمية
[^ من الألف إلى الياء] يطابق أي أحرف أبجدية صغيرة
^ حرف يطابق بداية
$ يطابق حرف نهاية للحرف
\ D مباريات ذات طابع أرقام، و[0-9] نفس بناء الجملة
\ D + تطابق سلسلة رقمية متعددة، و[0-9] + تركيب كما
\ D غير الرقمية، والآخر مع \ د
\ D + غير الرقمية، والآخر مع \ د +
\ W سلسلة من الأحرف أو الأرقام، و [ل-ي0-9] بناء جملة كما
\ W + و[ل-ي0-9] + تركيب كما
\ W الرسائل غير الإنجليزية أو الأرقام، سلاسل، و[^ أ-ي0-9] نفس بناء الجملة
\ W + و[^ أ-ي0-9] + تركيب كما
\ S مسافات، و[\ ن \ ر \ ص \ و] نفس بناء الجملة
\ S + و[\ ن \ ر \ ص \ و] + كما
\ S غير الفضاء، و[^ \ ن \ ر \ ص \ و] نفس بناء الجملة
\ S + و[^ \ ن \ ر \ ص \ و] + تركيب كما
\ B الأحرف الإنجليزية والأرقام مطابقة السلسلة الحدود
\ B غير متطابقة في الأبجدية، سلسلة الحدود العددية
و| ب | ج وتماشيا مع سلسلة أحرف مطابقة الحرف أو باء أو جيم شخصية
اي بي سي واي بي سي سلسلة مطابقة (نمط) يحتوي على () نتذكر هذا الرمز إلى العثور على السلسلة، بل هو جملة مفيدة للغاية، والسلسلة الأولى (من الداخل) وجدت هذا المتغير يصبح 1 $ أو \ 1 وجد متغير، والثانية (الداخلية) متغير سلسلة إلى متغير 2 $ أو \ 2، وهلم جرا إلى أسفل.
/ نمط / ط i هذه المعلمة تشير تجاهل الحال في اللغة الإنجليزية، وهذا هو، عندما سلسلة المباراة، وتجاهل السؤال الحال في اللغة الإنجليزية. \ إذا كنت تريد أن تجد طابع خاص في وضع نمط، مثل "*"، وسوف يكون لإضافة أمام شخصية على \ رمز، وهذا سوف يسمح الأحرف الخاصة تفشل