קאָמפּיוטערס, פּראָגראַממינג
PHP (רעגעקס) - וואָס איז עס? עקסאַמפּלעס און קאָנטראָלירונג רעגולער אויסדרוקן
ווען ארבעטן מיט טעקסט אין קיין מאָדערן פּראָגראַממינג שפּראַך, דעוועלאָפּערס קעסיידער טרעפן מיט די אַבדזשעקטיווז פון ינפּוט וואַלאַדיישאַן פֿאַר העסקעם מיט די געבעטן מוסטער, זוכן און פאַרבייַטן פּרובירן פראַגמענץ און אנדערע טייפּס פון פּראַסעסינג אַפּעריישאַנז פון כאַראַקטער אינפֿאָרמאַציע. אַנטוויקלען דיין אייגן וואַלאַדיישאַן אַלגערידאַמז לידז צו אָנווער פון צייַט, די קאָד קאַמפּאַטאַבילאַטי און קאַמפּלעקסיטי אין זייַן אַנטוויקלונג און מאַדערנייזיישאַ.
דער גיך אַנטוויקלונג פון די אינטערנעט און וועב-פּלאַן שפּראַכן required די שאַפונג פון ווערסאַטאַל און סאָליד מיטל פון טעקסט פּראַסעסינג מיט אַ מינימום סומע required פֿאַר דעם קאָד. עס איז קיין ויסנעם און איז פאָלקס צווישן ביגינערז און פאַכמאַן דעוועלאָפּערס פון PHP שפּראַך. די רעגולער אויסדרוק שפּראַך ווי די טעקסט טעמפּלאַטעס צו פאַרפּאָשעטערן די אַרבעט פון האַנדלינג די טעקסט און רעדוצירן קאָד פֿאַר טענס און הונדערטער פון שורות. פילע פּראָבלעמס קענען ניט זיין סאַלווד בייַ אַלע אָן עס.
רעגולער אויסדרוקן אין PHP
PHP שפּראַך האט דרייַ מעקאַניזאַמז פֿאַר ארבעטן מיט רעגולער אויסדרוקן - «ערעג», «מב_ערעג» און «פּרעג». די מערסט פּראָסט איז די צובינד «פּרעג», וועמענס פֿעיִקייטן צושטעלן צוטריט צו דער ביבליאָטעק פון די פּקרע רעגולער אויסדרוק שטיצן, ערידזשנאַלי דעוועלאָפּעד פֿאַר די פּערל שפּראַך, וואָס איז אריינגערעכנט אין די PHP פּעקל. פּרעג-זוכט פֿעיִקייטן אין אַ געגעבן טעקסט שטריקל וואָס ריכטן זיך, לויט צו אַ זיכער מוסטער אין דער שפּראַך פון רעגולער אויסדרוקן.
סינטאַקס באַסיקס
ווי טייל פון אַ קורץ אַרטיקל עס איז אוממעגלעך צו באַשרייַבן אין דעטאַל די גאנצע רעגולער אויסדרוק סינטאַקס, פֿאַר דעם עס איז אַ ספּעציעל ליטעראַטור. מיר פאָרשטעלן בלויז די הויפּט יסודות צו ווייַזן אַפּערטונאַטיז פֿאַר דעוועלאָפּער און פֿאַרשטיין די קאָד יגזאַמפּאַלז.
אין PHP רעגולער אויסדרוק איז פאָרמאַללי Defined זייער שווער, און דעריבער פאַרפּאָשעטערן די באַשרייַבונג. אַ רעגולער אויסדרוק איז אַ טעקסט שטריקל. עס באשטייט פון אַ דעדאַקייטאַד סעפּאַראַטאָר טעמפּלאַטע און די רעדאַגירן ינדאַקייטינג די וועג צו שעפּן עס. מעגלעך ינקלוזשאַן אין די פאַרשידן אַלטערנאַטיוועס און רעפּאַטישאַנז פון פּאַטערנז.
למשל, אין אויסדרוק / \ ד {3} - \ ד {2} - \ ד {2} / עם דיווידער איז "/", נאכגעגאנגען דורך די מוסטער, און די סימבאָל «עם» איז די רעדאַגירן.
אַלע די מאַכט פון רעגולער אויסדרוקן איז ענקאָודיד ניצן מעטאַ-אותיות. די הויפּט שפּראַך מעטאַטשאַראַקטער איז די באַקקסלאַש - "\". עס ענדערונגען די טיפּ פון ווייַטערדיק אותיות אויף די פאַרקערט (ד"ה. י קאָנווערטעד אין אַ פּראָסט כאַראַקטער וויילדקאַרד און וויצע ווערסאַ). אן אנדער וויכטיק מעטאַטשאַראַקטער איז אַ גלייַך שורה «|», ספּעסיפיעס די אנדער ברירה מוסטער. מער יגזאַמפּאַלז פון מעטאַ-אותיות:
| ^ | אָנהייבן כייפעץ אָדער אַ שטריקל |
| ( | אָנהייבן סובפּאַטטערן |
| ) | סוף סובפּאַטטערן |
| { | אָנהייבן קוואַנטיפיער |
| } | סוף קוואַנטיפיער |
| \ ד | דעצימאַל ציפֿער 0-9 |
| \ ד | קיין כאַראַקטער וואָס איז נישט אַ נומער |
| \ ס | ליידיק סימבאָל, פּלאַץ, קוויטל, |
| \ וו | סימבאָל ווערטערבוך |
PHP, פּראַסעסינג רעגולער אויסדרוקן, פּלאַץ באטראכט ווי אַ באַזונדער גילטיק כאַראַקטער, אַזוי די אויסדרוק פון קסיז און אַבק ווו זענען אַנדערש.
סובפּאַטטערנס
אין PHP רעגולער סובפּאַטטערנס דורך קלאַמערן, און זיי זענען א מאל גערופֿן "סובעקספּרעססיאָנס". דורכפירן די ווייַטערדיק פֿעיִקייטן:
אַללאָקאַטיאָן אַלטערנאַטיוועס. לעמאָשל, די היץ מוסטער (עפּעס | בירד |) קאָוינסיידז מיט די ווערטער "היץ", "פירעבירד" און "הייס". און אָן די בראַקאַץ עס וועט נאָר זייַן אַ ליידיק שטריקל, "פויגל" און "הייס".
"ספּעקטאַקולאַר" סובפּאַטטערן. דעם מיטל אַז אויב דעם מוסטער מאַטשט סובסטרינג, דעמאָלט קערט אַלע שוועבעלעך. פֿאַר קלעריטי, מיר געבן אַ בייַשפּיל. געגעבן די ווייַטערדיק רעגולער אויסדרוק: דער געווינער נעמט ((גאָלד | גאָלד פּלייטאַד) (מעדאַל | טעפּל)) - און די שטריקל פֿאַר שוועבעלעך, "דער געווינער געץ אַ גאָלד מעדאַל." אין דערצו צו די ערשט פראַזע, די זוכן רעזולטאַטן וועט ווערן ארויס: "גאָלד מעדאַל", "מעדאַלז", "גאָלד".
אָפּעראַטאָרס רעפּאַטישאַנז (קוואַדריפיקאַטאָרי)
אין קאַמפּיילינג די רעגולער אויסדרוק איז אָפֿט נייטיק צו אַנאַלייז די יבערכאַזערונג פון נומערן און סימבאָלס. דאס איז ניט אַ פּראָבלעם, אויב נישט אַ פּלאַץ פון רעפּאַטישאַנז. אבער וואָס צו טאָן ווען מיר טאָן ניט וויסן זייער פּינקטלעך נומער? אין דעם פאַל עס איז נייטיק צו נוצן ספּעציעל מעטאַטשאַראַקטערס.
פֿאַר אַ באַשרייַבונג פון רעפּאַטישאַנז געניצט קוואַדריפיקאַטאָרי - מעטאַטשאַראַקטערס צו ספּעציפיצירן די נומער. קוואַדריפיקאַטאָרי זענען פון צוויי טייפּס:
- פּראָסט אין בראַקאַץ;
- רידוסט.
קוילעלדיק קוואַנטיפיער גערירט דורך די מינימום און מאַקסימום נומער פון ערלויבט רעפּאַטישאַנז עלעמענט אין דער פאָרעם פון צוויי נומערן אין די ברייסאַז, אַזאַ ווי רענטגענ {2,5}. אויב די מאַקסימום נומער פון רעפּאַטישאַנז איז נישט באקאנט, די רגע אַרגומענט איז ניט ספּעסיפיעד: רענטגענ {2}.
אַבריוויייטיד קוואַנטיפיערס זענען סימבאָלס פֿאַר די מערסט פּראָסט פון רעפּאַטישאַנז אין סדר צו ויסמייַדן ומנייטיק אָוווערלאָודינג סינטאַקס. וסואַללי עס זענען דרייַ קאַץ:
1. * - נול אָדער מער רעפּאַטישאַנז, וואָס איז עקוויוואַלענט צו {0,}.
2. + - איינער אָדער מער רעפּאַטישאַנז, דאס הייסט, {1} ...
3.? - נול אָדער בלויז איין איבערחזרן - {0,1}.
עקסאַמפּלעס רעגעקס
פֿאַר די וואס לערנען רעגולער אויסדרוקן, יגזאַמפּאַלז - דער בעסטער לערנבוך. מיר געבן אַ ביסל אַז ווייַזן זייער אַפּערטונאַטיז מיט אַ מינימום פון מי. אַלע קאָד איז גאָר קאַמפּאַטאַבאַל מיט ווערסיעס פון PHP 4.x און אויבן. צו גאָר פֿאַרשטיין די סינטאַקס און באַניץ פון אַלע שפּראַך פֿעיִקייטן מיר רעקאָמענדירן דעם בוך דורך דזש .. פריעדל, "רעגולער אויסדרוקן", וואָס גאָר געהאלטן סינטאַקס, און עס זענען יגזאַמפּאַלז פון רעגולער אויסדרוקן ניט בלויז PHP, אָבער אויך פֿאַר אַ פּיטהאָן, פּערל, מיסקל, ז'אבא, רובי, און C #.
וואַלידאַטיאָן E- פּאָסט אַדרעס
אַרבעט. עס איז אַן אינטערנעץ בלאַט אויף וואָס דער גאַסט איז געבעטן אַדרעס E- פּאָסט. רעגולער אויסדרוק מוזן טשעק די קערעקטנאַס פון די ווענדט איידער שיקט אַרטיקלען. טשעק טוט נישט גאַראַנטירן אַז די ספּעסיפיעד בריווקאַסטן אַקטשאַוואַלי יגזיסס און נעמט אַרטיקלען. אבער וויד אויס דאָך פאַלש ווענדט עס קענען.
באַשלוס. ווי מיט קיין פּראָגראַממינג שפּראַך, אין PHP רעגעקס E- פּאָסט-אַדרעס verification קענען זיין ימפּלאַמענאַד אין פאַרשידענע וועגן, און די יגזאַמפּאַלז אין דעם אַרטיקל זענען ניט די לעצט און בלויז ברירה. דעריבער, אין יעדער פאַל, מיר וועלן צושטעלן אַ רשימה פון רעקווירעמענץ אַז דאַרפֿן צו זיין גענומען אין חשבון ווען פּראָגראַממינג און ספּעציפיש ימפּלאַמענטיישאַן דעפּענדס לעגאַמרע אויף די דעוועלאָפּער.
אזוי, דער אויסדרוק אַז טעסץ אַ גילטיק E- פּאָסט, זאָל קאָנטראָלירן די ווייַטערדיק באדינגונגען:
- די בייַזייַן אין די סטאַרטינג שורה די @ סימבאָל, און עס זענען קיין גאַפּס.
- די פעלד אַ טייל פֿון דער אַדרעס פון די @ סימבאָל, כּולל בלויז גילטיק אותיות פֿאַר פעלד נעמען. דער זעלביקער אַפּלייז צו דעם באַניצער 'ס נאָמען.
- ווען קאָנטראָלירונג די נאמען איז נייטיק צו באַשליסן די בייַזייַן פון ספּעציעל אותיות אַזאַ ווי אַ אַפּאָסטראָפע אָדער ווערטיקאַל שורה. אַזאַ סימבאָלס זענען פּאַטענטשאַלי געפערלעך און קענען זיין קאַנטיינד אין אַזאַ מינים פון ארויסטריטן אַז סקל-ינדזשעקשאַן. ויסמייַדן ווענדט.
- וסערנאַמעס לאָזן בלויז איין פונט, וואָס זאל ניט זיין דער ערשטער אָדער לעצט כאַראַקטער אין די שטריקל.
- די פעלד נאָמען מוזן אַנטהאַלטן לפּחות צוויי און ניט מער ווי זעקס אותיות.
לעמאָשל, גענומען אין חשבון אַלע פון די באדינגונגען קענען ווערן געזען אין די ווייַטערדיק פיגור.
וואַלאַדיישאַן פון אַ URL
אַרבעט. קוק צי די ספּעסיפיעד טעקסט שטריקל איז אַ גילטיק אַדרעס URL. אַמאָל ווידער, מיר טאָן אַז רעגולער אויסדרוקן URL ס טשעק קענען זיין ימפּלאַמענאַד אין פאַרשידן וועגן.
באַשלוס. אונדזער לעצט ווערסיע איז ווי גייט:
/^(הטטפּס?:\/\/)?([\דאַ-ז\.-]+)\.([אַז\.]{2,6})([\/\וו \ .-] *) * \ /? $ /
איצט אַנאַלייז זייַן קאַמפּאָונאַנץ אין מער דעטאַל ניצן די צייכענונג.
| פאָדערן 1 | איידער די URL זאָל ניט האָבן קיין אותיות |
| פאָדערן 2 | קאָנטראָליר די בייַזייַן פון די מאַנדאַטאָרי פּרעפֿיקס «הטטפּ» |
| נומער 3 | עס מוזן זיין קיין סימבאָלס |
| פאָדערן 4 | אויב עס «s», די URL ווייזט צו אַ סיקיורד קשר «הטטפּס» |
| פאָדערן 5 | רעקווירעד חלק פון די "//" |
| פאָדערן 6 | ניט קיין אותיות |
| פּ. 7-9 | וועריפיינג די ערשטער שטאַפּל פעלד און די בייַזייַן פון פונט |
| פּ.10-13 | וועריפיינג די פעלד פון שרייבן די רגע מדרגה, און די פונט |
| פּ.14-17 |
טעקע ביניען URL - אַ סכום פון נומערן, אותיות, ונדערסקאָרעס, דאַשיז, דאַץ, און אַ צעהאַקן אין די סוף |
קאָנטראָליר די קרעדיט קאַרטל נומערן
אַרבעט. איר דאַרפֿן צו ינסטרומענט וואַלאַדיישאַן פון די אריין קרעדיט קאָרט נומער פון די מערסט פּראָסט צאָלונג סיסטעמס. אַ וואַריאַנט בלויז פֿאַר קאַרדס וויזאַ און מאַסטערקאַרד.
באַשלוס. ווען קריייטינג די אויסדרוק איר דאַרפֿן צו נעמען אין חשבון די מעגלעך בייַזייַן פון גאַפּס אין די ינפּוט צימער. די דידזשאַץ אויף די מאַפּע זענען צעטיילט אין גרופּעס פֿאַר גרינגער לייענען און דיקטיישאַן. דעריבער, עס איז נאַטירלעך אַז אַ מענטש קענען פּרובירן צו אַרייַן אַ נומער אין דעם וועג (ד"ה. י ניצן ספּייסאַז).
שרייב אַ וניווערסאַל אויסדרוק אַז נעמט אין חשבון די מעגלעך ספּייסיז אָדער היפענס, איז מער קאָמפּליצירט ווי נאָר אַוועקוואַרפן אַלע אותיות חוץ דידזשאַץ. דעריבער, מיר רעקאָמענדירן ניצן אַ וויילדקאַרד אויסדרוק / ד, וואָס רימוווז אַלע אותיות חוץ דידזשאַץ.
איצט איר קענען גיין גלייַך צו די טשעק נומער. אַלע קאָמפּאַניעס, קרעדיט קאָרט ישוערז נוצן אַ יינציק נומער פֿאָרמאַט. אין די משל עס איז געניצט, און דער קליענט טוט ניט דאַרפֿן צו אַרייַן די נאָמען פון די פירמע - עס איז באשלאסן דורך די נומער. וויזע קאַרדס שטענדיק אָנהייבן מיט די נומערן 4 און האָבן אַ לענג פון 13 אָדער 16 דידזשאַץ. מאַסטערקאַרד הייבט זיך אן אין די קייט פון 51-55 מיט אַ לאַנג נומער 16. ווי אַ רעזולטאַט, מיר באַקומען די ווייַטערדיק אויסדרוק:
איידער פּראַסעסינג די סדר קענען זייַן ווייַטער טעסטעד די לעצטע דידזשאַץ פון די נומער, וואָס איז קאַלקיאַלייטיד אויף די לוהן אַלגערידאַם.
וועריפיינג טעלעפאָנירן נומער
אַרבעט. קאָנטראָלירונג די קערעקטנאַס פון די אריין טעלעפאָנירן נומער.
באַשלוס. די נומער פון דידזשאַץ אין די פאַרפעסטיקט און רירעוודיק טעלעפאָן נומערן בייַטן באטייטיק דיפּענדינג אויף דער מדינה, אַזוי יונאַווערסאַלי טשעק ניצן רעגולער אויסדרוקן, טעלעפאָנירן נומער ריכטיק אוממעגלעך. אבער אינטערנאַציאָנאַלע נומערן האָבן אַ שטרענג פֿאָרמאַט און גאנץ פֿאַר קאָנטראָלירונג די מוסטער. אַפֿילו מער אַזוי אַז מער און מער לאַנדיש טעלעפאָן אָפּערייטערז זענען טריינג צו טרעפן די זעלבע נאָרמאַל. צימער סטרוקטור איז ווי גייט:
+ קקק.ננננננננננקסעעעע, ווו:
- C - איז די מדינה קאָד קאַנסיסטינג פון 1-3 דידזשאַץ.
- ען - נומער אַרויף צו 14 דידזשאַץ.
- E- - אַפּשאַנאַל געשפּרייט.
פּלוס איז אַ ינדיספּענסאַבאַל עלעמענט, און די צייכן רענטגענ איז פאָרשטעלן בלויז ווען דארף געשפּרייט.
ווי אַ רעזולטאַט מיר האָבן די ווייַטערדיק אויסדרוק:
^ \ + [0-9] {1,3 } \. [0-9] {4,14} (?: רענטגענ. +)? $
די נומערן אין די קייט
אַרבעט. עס איז נייטיק צו ענשור צופאַל ינטאַדזשער פון אַ זיכער קייט. אין דערצו, עס איז נייטיק צו געפֿינען אַ רעגולער אויסדרוק בלויז די נומערן פון די קייט.
באַשלוס. דאָ זענען אַ ביסל אויסדרוקן צו עטלעכע פון די מערסט פּראָסט קאַסעס:
| באַשטימען שעה 1-24 | ^ (1 [0-2] | [1-9]) $ |
| טאָג אין דער חודש 1-31 | ^ (3 [01] | [12] [0-9] | [1-9]) $ |
| סעקונדעס אָדער מינוט 0-59 | ^ [1-5]? [0-9] $ |
| א נומער 1-100 | * (100 |? [1-9] [0-9]) $ |
| טאָג פון יאָר 1-366 | ^ (36 [0-6] | 3 [0-5] [0-9] | [12] [0-9] {2} |? [1-9] [0-9]) $ |
זוכן יפּ-ווענדט
אַרבעט. עס איז נייטיק צו באַשליסן צי אַ געגעבן שטריקל איז אַ גילטיק יפּ-אַדרעס אין יפּוו 4 פֿאָרמאַט אין די קייט פון 000.000.000.000-255.255.255.255.
באַשלוס. ווי מיט קיין פּראָבלעם אין די שפּראַך פון PHP, די רעגולער אויסדרוק האט פילע וואַרינטאָוו. לעמאָשל, דעם:
אָנליין קאָנטראָלירונג פון אויסדרוקן
טשעק רעגעקס ריכטיק פֿאַר ביגינערז קענען זיין שווער ווייַל פון די קאַמפּלעקסיטי פון די סינטאַקס, וואָס דיפפערס פֿון "עמעס" פּראָגראַממינג שפּראַכן. צו סאָלווע דעם פּראָבלעם, עס זענען פילע אָנליין טעסטערס אויסדרוקן אַז מאַכן עס גרינג צו קאָנטראָלירן די קערעקטנאַס פון די טעמפּלאַטע איר Created אין דער עמעס טעקסט. די פּראָגראַמיסט גייט אריין די אויסדרוק און verification דאַטן און טייקעף זען די רעזולטאַט פון די פּראַסעסינג. וסואַללי עס איז פאָרשטעלן אַ רעפֿערענץ אָפּטיילונג, וואָס דעטאַילס די רעגולער אויסדרוקן, יגזאַמפּאַלז און ימפּלאַמענטיישאַן חילוק פֿאַר די מערסט עקסטענדעד שפּראַכן.
אבער צו גאָר צוטרוי אָנליין באַדינונגען רעזולטאטן ניט רעקאַמענדיד פֿאַר אַלע דעוועלאָפּערס וואס נוצן PHP. אַ רעגולער אויסדרוק איז געשריבן און וועריפיעד אין מענטש, רייזאַז קוואַליפיקאַציע און גאַראַנטירן די אַוועק פון ערראָרס.
Similar articles
Trending Now