1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [סעמינאַר: פּאַטערן מאַטטשינג מיט רעגולער עקספּרעססיאָנס] 2 00:00:02,000 --> 00:00:04,000 [יוחנן מוססמאַן-האַרוואַרד אוניווערסיטעט] 3 00:00:04,000 --> 00:00:07,220 [דאס איז קס50.-CS50.TV] 4 00:00:07,780 --> 00:00:11,610 אָוקיי. נו, באַגריסן אַלעמען. דאס איז קס50 2012. 5 00:00:11,780 --> 00:00:16,610 מייַן נאָמען איז יוחנן, און איך וועל זייַן גערעדט הייַנט וועגן רעגולער אויסדרוקן. 6 00:00:16,610 --> 00:00:22,530 רעגולער אויסדרוקן איז בפֿרט אַ געצייַג, אָבער אויך מאל געניצט 7 00:00:22,530 --> 00:00:28,650 אין קאָד אַקטיוולי צו יסענשאַלי גלייַכן פּאַטערנז און סטרינגס. 8 00:00:28,650 --> 00:00:33,800 אזוי דאָ ס אַ וועב קאָמיקער פון קסקקד. 9 00:00:34,440 --> 00:00:42,370 אין דעם קאָמיקער עס איז אַ מאָרד מיסטעריע ווו די קיללער האט 10 00:00:42,370 --> 00:00:47,860 נאכגעגאנגען עמעצער אויף וואַקאַציע, און די פּראָוטאַגאַנאַסץ האָבן צו 11 00:00:47,860 --> 00:00:52,500 זוכן דורך 200 מעגאבייט פון ימיילז קוקן פֿאַר אַ אַדרעס. 12 00:00:52,500 --> 00:00:56,090 און זיי זענען וועגן צו געבן אַרויף ווען עמעצער וואס ווייסט רעגולער אויסדרוקן - 13 00:00:56,090 --> 00:01:00,550 מאַשמאָעס אַ סופּערכיראָו - סווופּס אַראָפּ און שרייבט עטלעכע קאָד 14 00:01:00,550 --> 00:01:02,970 און סאַלווז די מאָרד מיסטעריע. 15 00:01:02,970 --> 00:01:07,370 אזוי מאַשמאָעס וואָס וועט זייַן עפּעס וואָס איר וועט זייַן ימפּאַוערד צו טאָן 16 00:01:07,370 --> 00:01:09,370 נאָך דעם סעמינאַר. 17 00:01:09,370 --> 00:01:12,250 מיר זענען נאָר געגאנגען צו צושטעלן אַ קאַנסייס הקדמה צו דער שפּראַך 18 00:01:12,250 --> 00:01:16,770 און געבן איר גענוג ווערווידאָל צו גיין נאָך מער רעסורסן אויף דיין אייגן. 19 00:01:17,680 --> 00:01:21,700 >> אזוי רעגולער אויסדרוקן קוקן בייסיקלי ווי דעם. 20 00:01:22,930 --> 00:01:25,550 דאס איז אַ רעגולער אויסדרוק אין רובי. 21 00:01:25,550 --> 00:01:29,280 עס איז נישט טעראַבלי פאַרשידענע אַריבער שפּראַכן. 22 00:01:29,690 --> 00:01:37,630 מיר האָבן נאָר אויף סלאַשיז צו נעמען און צייכן די רעגולער אויסדרוק אין רובי. 23 00:01:37,630 --> 00:01:42,880 און דאָס איז אַ רעגולער אויסדרוק צו קוקן פֿאַר אין בליצפּאָסט אַדרעס מוסטער. 24 00:01:42,880 --> 00:01:49,160 אזוי מיר זען אין דער ערשטער ביסל קוקט פֿאַר קיין אַלפאַנומעריק כאַראַקטער. 25 00:01:50,500 --> 00:01:54,880 וואָס איז ווייַל Email ווענדט אָפֿט האָבן צו אָנהייבן מיט אַ אַלפאַבעטיקאַל כאַראַקטער. 26 00:01:55,460 --> 00:01:59,330 און דעמאָלט קיין ספּעציעל כאַראַקטער נאכגעגאנגען דורך די @ סימבאָל. 27 00:01:59,330 --> 00:02:03,260 און דעריבער די זעלבע זאַך פֿאַר פעלד נאָמען. 28 00:02:03,260 --> 00:02:10,030 און דעמאָלט צווישן 2 און 4 אותיות צו קוקן פֿאַר דעם. קאַם,. נעץ, און אַזוי אויף. 29 00:02:10,850 --> 00:02:13,200 אזוי אַז איז אן אנדער בייַשפּיל פון רעגולער אויסדרוק. 30 00:02:13,200 --> 00:02:17,270 אזוי רעגולער אויסדרוקן זענען פּראָטאָקאָלס פֿאַר געפונען פּאַטטערס אין טעקסט. 31 00:02:17,270 --> 00:02:21,130 זיי טאָן קאַמפּעראַסאַנז, סאַלעקשאַנז, און ריפּלייסמאַנץ. 32 00:02:21,690 --> 00:02:27,970 אזוי א דריט בייַשפּיל איז געפונען אַלע די טעלעפאָן נומערן סאָף אין 54 אין אַ וועגווייַזער. 33 00:02:27,970 --> 00:02:34,360 אזוי איידער דוד ריפּס אַרויף די קס50 Directory מיר געקענט זוכן פֿאַר 34 00:02:34,360 --> 00:02:40,450 אַ מוסטער ווו מיר האָבן קלאַמערן דעמאָלט 3 נומערן דעמאָלט סוף פּערענטאַסיס, 35 00:02:40,450 --> 00:02:44,070 3 מער נומערן, אַ לאָך, 2 נומערן, און דעריבער 54. 36 00:02:44,070 --> 00:02:48,310 און וואָס וואָלט זייַן יסענשאַלי ווי מיר קומען אַרויף מיט אַ רעגולער אויסדרוק צו זוכן פֿאַר וואָס. 37 00:02:49,150 --> 00:02:52,960 >> אזוי עס זענען - מיר האָבן געטאן עטלעכע זאכן אין קס50 אַז ביסט אַ קליין ביסל ווי 38 00:02:52,960 --> 00:02:59,740 רעגולער אויסדרוקן, אַזוי - למשל - אין די דיקטיאָנאַרי.ק טעקע 39 00:02:59,740 --> 00:03:04,720 פֿאַר די רעגע טשעק פּראָבלעם שטעלן איר זאלט ​​האָבן געניצט פסקאַנף 40 00:03:04,720 --> 00:03:07,930 צו לייענען אין אַ וואָרט פון דעם ווערטערבוך. 41 00:03:07,930 --> 00:03:16,240 און איר קענען זען די פּראָצענט 45s איז קוקן פֿאַר אַ שטריקל פון 45 אותיות. 42 00:03:16,240 --> 00:03:20,020 אזוי עס איז עפּעס ווי אַ רודאַמענטערי רעגולער אויסדרוק. 43 00:03:21,150 --> 00:03:26,060 און איר קענען האָבן קיין 45 אותיות אַז פּאַסיק די רעכענונג אין דאָרט 44 00:03:26,060 --> 00:03:28,080 און קלייַבן יענע אַרויף. 45 00:03:28,080 --> 00:03:33,480 און דעריבער די רגע בייַשפּיל אין דער רובֿ פריש וועב פּראָגראַממינג פּראָבלעם 46 00:03:33,480 --> 00:03:40,760 שטעלן אין די דיסטראָ קאָד פֿאַר פפּ מיר פאקטיש טאָן האָבן אַ פּשוט רעגולער אויסדרוק. 47 00:03:40,760 --> 00:03:46,790 און דעם איין איז נאָר פשוט קוקן צו טשעק אויב די וועב בלאַט וואָס איז דורכגעגאנגען אין 48 00:03:46,790 --> 00:03:51,940 שוועבעלעך אָדער לאָגין אָדער logout רעגיסטרירן. פפּ. 49 00:03:52,220 --> 00:03:57,910 און דעמאָלט אומגעקערט אמת אָדער פאַלש באזירט אויף אַז רעגולער אויסדרוק וואָס ריכטן. 50 00:03:59,400 --> 00:04:01,740 >> אזוי ווען טאָן איר נוצן רעגולער אויסדרוק? 51 00:04:01,740 --> 00:04:04,820 פארוואס זענען איר דאָ הייַנט? 52 00:04:05,330 --> 00:04:08,480 אזוי איר טאָן נישט וועלן צו נוצן רעגולער אויסדרוק ווען עס ס 'עפּעס אַז 53 00:04:08,480 --> 00:04:11,640 טוט די אַרבעט פֿאַר איר אַפֿילו מער לייכט. 54 00:04:11,640 --> 00:04:15,510 אזוי קסמל און HTML זענען פאקטיש שיין טריקי 55 00:04:15,510 --> 00:04:18,480 צו שרייַבן רעגולער אויסדרוקן פֿאַר ווי מיר וועלן זען אין אַ קליין ביסל. 56 00:04:19,110 --> 00:04:23,280 אזוי עס זענען דעדאַקייטאַד פּאַרסערז פֿאַר יענע שפּראַכן. 57 00:04:24,170 --> 00:04:30,060 איר אויך דאַרפֿן צו זייַן אָוקיי מיט די האַנדל אָפס און אַקיעראַסי אָפט. 58 00:04:30,060 --> 00:04:36,220 אויב איר זענט טריינג - אַזוי מיר געזען אַ רעגולער אויסדרוק פֿאַר אַ בליצפּאָסט אַדרעס, 59 00:04:37,370 --> 00:04:42,590 אָבער זאָגן איר געוואלט אַ ספּעציפיש Email אַדרעס און ביסלעכווייַז די 60 00:04:42,590 --> 00:04:48,570 רעגולער אויסדרוק זאל ווערן מער קאָמפּליצירט ווי עס איז געווארן מער גענוי. 61 00:04:49,580 --> 00:04:52,260 אזוי אַז וואָלט זייַן איינער האַנדל אַוועק. 62 00:04:52,260 --> 00:04:55,330 איר האָבן צו זייַן זיכער אַז איר זענט אָוקיי מאכן מיט די רעגולער אויסדרוק. 63 00:04:55,330 --> 00:04:57,920 אויב איר וויסן פּונקט וואָס איר זענט קוקן פֿאַר עס זאל מאַכן מער זינען 64 00:04:57,920 --> 00:05:02,070 צו שטעלן אין די צייַט און שרייַבן אַ מער עפעקטיוו פּאַרסער. 65 00:05:02,070 --> 00:05:06,980 און לעסאָף עס איז אַ היסטאָריש אַרויסגעבן מיט די רעגיאַלעראַטי 66 00:05:06,980 --> 00:05:08,940 פון אויסדרוקן און שפּראַכן. 67 00:05:08,940 --> 00:05:12,960 רעגולער אויסדרוקן זענען פאקטיש פיל מער שטאַרק ווי 68 00:05:12,960 --> 00:05:16,450 רעגולער אויסדרוקן פּער זאָגן אין אַ פאָרמאַל זינען. 69 00:05:17,130 --> 00:05:20,150 >> אזוי איך טאָן נישט וועלן צו גיין צו ווייַט אין די פאָרמאַל טעאָריע, 70 00:05:20,150 --> 00:05:24,000 אָבער רובֿ שפּראַכן וואָס מיר קאָד אין פאקטיש זענען נישט רעגולער. 71 00:05:24,000 --> 00:05:29,110 און דאָס איז וואָס רעגולער אויסדרוקן מאל ביסט נישט געהאלטן אַלע אַז זיכער. 72 00:05:29,670 --> 00:05:33,150 אזוי בייסיקלי עס איז אַ טשאָמסקי כייעראַרקי פֿאַר שפּראַכן, 73 00:05:33,150 --> 00:05:38,400 און רעגולער אויסדרוקן זענען בויען אַרויף ניצן פאַרבאַנד, קאַנקאַטאַניישאַן, 74 00:05:38,400 --> 00:05:41,810 און די קלעענע שטערן אָפּעראַציע אַז מיר וועלן זען אין אַ ביסל מינוט. 75 00:05:43,130 --> 00:05:48,860 אויב איר זענט אינטערעסירט אין טעאָריע עס איז גאַנץ אַ פּלאַץ געגאנגען אויף דאָרט אונטער די קאַפּטער. 76 00:05:50,360 --> 00:05:55,880 >> אזוי אַ קורץ געשיכטע - נאָר פֿאַר דער קאָנטעקסט דאָ - רעגולער שטעלט געקומען אַרויף 77 00:05:55,880 --> 00:05:59,580 אין די 1950 ס, און דעמאָלט מיר האט פּשוט רעדאקציע אַז 78 00:05:59,580 --> 00:06:03,300 ינקאָרפּאָראַטעד רעגולער אויסדרוקן - נאָר שאַרף פֿאַר סטרינגס. 79 00:06:03,570 --> 00:06:09,110 גרעפּ - וואָס איז אַ באַפֿעל שורה געצייַג - איז געווען איינער פון די ערשטער 80 00:06:09,110 --> 00:06:14,160 זייער פאָלקס מכשירים אַז ינקאָרפּאָראַטעד רעגולער אויסדרוקן אין די 1960 ס. 81 00:06:14,160 --> 00:06:20,560 אין די '80ס, פּערל איז געווען געבויט - איז אַ פּראָגראַממינג שפּראַך אַז 82 00:06:20,560 --> 00:06:24,110 ינקאָרפּערייץ רעגולער אויסדרוקן זייער פּראַמאַנאַנטלי. 83 00:06:24,550 --> 00:06:30,130 און דעריבער מער לעצטנס מיר האָבן געהאט פּערל קאַמפּאַטאַבאַל רעגולער אויסדרוק 84 00:06:30,130 --> 00:06:35,870 פּראָטאָקאָלס בייסיקלי אין אנדערע שפּראַכן וואָס נוצן פיל פון די זעלבע סינטאַקס. 85 00:06:36,630 --> 00:06:39,840 פון קורס די מערסט וויכטיק געשעעניש איז געווען אין 2008 86 00:06:39,840 --> 00:06:43,040 ווו עס איז געווען דער ערשטער נאַציאָנאַלער רעגולער עקספּרעססיאָנס טאָג, 87 00:06:43,040 --> 00:06:47,350 וואָס איך גלויבן איז יוני 1 אויב איר ווילן צו פייַערן וואָס. 88 00:06:48,430 --> 00:06:50,840 >> ווידער, נאָר אַ קליין ביסל מער טעאָריע דאָ. 89 00:06:52,180 --> 00:06:55,320 אזוי דאָרט זענען אַ פּאָר פאַרשידענע וועגן פון קאַנסטראַקטינג רעגולער אויסדרוקן. 90 00:06:55,950 --> 00:07:02,050 איינער פּשוט וועג איז צו בויען דעם אויסדרוק אַז איר זענט געגאנגען צו 91 00:07:02,050 --> 00:07:07,500 לויפן אויף די שטריקל טייַטשן - בייסיקלי בויען אַ ביסל מיני-פּראָגראַם אַז 92 00:07:07,500 --> 00:07:11,870 וועט פונאַנדערקלייַבן ברעקלעך פון אַ שטריקל און זען, "אָה, טוט דאָס פּאַסיק די רעגולער אויסדרוק אָדער נישט?" 93 00:07:12,250 --> 00:07:14,250 און דעריבער לויפן אַז. 94 00:07:14,250 --> 00:07:17,300 אזוי אויב איר האָט אַ זייער קליין רעגולער אויסדרוק, דאָס איז מיסטאָמע 95 00:07:17,300 --> 00:07:19,380 די מערסט עפעקטיוו וועג צו טאָן עס. 96 00:07:20,090 --> 00:07:25,420 און דעריבער אויב איר - אן אנדער אָפּציע איז צו האַלטן ריקאַנסטראַקטינג די 97 00:07:25,420 --> 00:07:30,260 אויסדרוק ווי איר גיין, און וואס איז די סימולירן מעגלעכקייט. 98 00:07:30,440 --> 00:07:37,690 און די פרי פרווון אין רעגולער אויסדרוק אַלגערידאַמז געווען 99 00:07:37,690 --> 00:07:44,330 לעפיערעך פּשוט און לעפיערעך שנעל, אָבער האט נישט האָבן אַ פּלאַץ פון בייגיקייַט. 100 00:07:44,330 --> 00:07:47,500 אזוי צו טאָן אַפֿילו עטלעכע פון ​​די זאכן וואָס מיר זענען געגאנגען צו קוקן בייַ 101 00:07:47,500 --> 00:07:52,860 הייַנט מיר האָבן געהאט צו טאָן מער קאָמפּליצירט רעגולער אויסדרוק 102 00:07:52,860 --> 00:07:56,650 ימפּלעמענטאַטיאָנס אַז ביסט פּאַטענטשאַלי פיל סלאָוער; אַזוי אַז איז עפּעס צו טראָגן אין גייַסט 103 00:07:57,510 --> 00:08:02,920 עס ס אויך אַ רעגולער אויסדרוקן אָפּלייקענונג פון באַפאַלן פאַרשיידנקייַט 104 00:08:02,920 --> 00:08:08,330 אַז גווורע דער פּאָטענציעל פֿאַר די נייַער ימפּלעמענטאַטיאָנס פון 105 00:08:08,330 --> 00:08:10,930 רעגולער אויסדרוקן צו ווערן זייער קאָמפּליצירט. 106 00:08:11,570 --> 00:08:15,650 און אין פיל די זעלבע געפיל אַז מיר געזען אין באַפער לויפן אנפאלן, 107 00:08:15,650 --> 00:08:21,610 איר האָבן אנפאלן וואָס אַרבעט דורך מאכן רעקורסיווע לופּס אַז 108 00:08:21,610 --> 00:08:24,400 באַדעקן די קאַפּאַציטעט פון זכּרון. 109 00:08:24,780 --> 00:08:29,540 און דורך דעם וועג רעגעקסען איז איינער פון די באַאַמטער פּלוראַלז פון רעגולער אויסדרוק 110 00:08:29,540 --> 00:08:32,890 דורך אַנאַלאַדזשי צו אקסן אין די אַנגלאָ-סאַקסאָן. 111 00:08:33,500 --> 00:08:40,169 >> אָוקיי, אַזוי די פּיטהאָן ביבליאָטעק פילע פון ​​איר דאָ אין מענטש האָבן מאַקס, 112 00:08:40,169 --> 00:08:43,860 אַזוי איר קענען פאקטיש ציען דעם אַרויף אויף דיין פאַרשטעלן. 113 00:08:43,860 --> 00:08:47,480 רעגולער אויסדרוקן זענען געבויט אין פּיטהאָן. 114 00:08:48,070 --> 00:08:53,020 און אַזוי פּיטהאָן איז פּרעלאָאַדעד אויף מאַקס און אויך בנימצא אָנליין בייַ דעם לינק. 115 00:08:53,770 --> 00:08:57,350 אזוי אויב איר זענט וואַטשינג איר קענען פּויזע און מאַכן זיכער איר האָט פּיטהאָן 116 00:08:58,080 --> 00:09:00,170 ווי מיר שפּילן אַרום דאָ. 117 00:09:00,780 --> 00:09:06,420 עס איז אַ מאַנואַל אָנליין, אַזוי אויב איר נאָר טיפּ פּיטהאָן אין אייער קאָמפּיוטער 118 00:09:06,420 --> 00:09:10,500 איר וועט זען אַז די ווערסיע קומט אַרויף אין דער וואָקזאַל. 119 00:09:11,070 --> 00:09:17,720 אזוי איך צוגעשטעלט אַ לינק צו די מאַנואַל פֿאַר ווערסיע 2 פון פּיטהאָן ווי געזונט ווי אַ אָפּנאַרן בלאַט. 120 00:09:17,720 --> 00:09:23,100 עס איז אַ ווערסיע 3 פון פּיטהאָן, אָבער דיין מעק טוט נישט דאַווקע 121 00:09:23,100 --> 00:09:25,130 קומען מיט וואָס פּרעלאָאַדעד. 122 00:09:25,130 --> 00:09:27,360 אזוי נישט טעראַבלי אַנדערש. 123 00:09:27,360 --> 00:09:33,270 אָוקיי, אַזוי עטלעכע באַסיקס פון ניצן רעגולער אויסדרוקן אין פּיטהאָן. 124 00:09:34,080 --> 00:09:42,650 >> אזוי דאָ איך געניצט אַ זייער פּשוט אויסדרוק, אַזוי איך האט פּיטהאָן אַרייַנפיר שייַעך 125 00:09:43,750 --> 00:09:47,070 און דעריבער האט דער רעזולטאַט פון רע.סעאַרטש. 126 00:09:47,070 --> 00:09:49,910 און די זוכן נעמט 2 טענות. 127 00:09:49,910 --> 00:09:56,040 דער ערשטער איז די רעגולער אויסדרוק, און די רגע איז דער טעקסט 128 00:09:56,040 --> 00:09:58,290 אָדער שטריקל איר ווילן צו פונאַנדערקלייַבן. 129 00:09:58,290 --> 00:10:01,210 און דעמאָלט איך געדרוקט אויס די רעסולט.גראָופּ. 130 00:10:01,580 --> 00:10:05,860 אזוי די ביסט די 2 גרונט פאַנגקשאַנז מיר זענען געגאנגען צו זען הייַנט 131 00:10:06,790 --> 00:10:10,170 אין וויסן וועגן רעגולער אויסדרוקן. 132 00:10:10,170 --> 00:10:12,880 אזוי נאָר ברייקינג אַראָפּ דעם רעגולער אויסדרוק דאָ 133 00:10:12,880 --> 00:10:21,770 ה און דעמאָלט \ ד און דעמאָלט עם אַזוי \ וו נאָר אַקסעפּץ קיין אַלפאַבעטיקאַל כאַראַקטער אין דאָרט. 134 00:10:21,850 --> 00:10:26,820 אזוי דאָ מיר זענען קוקן פֿאַר אַ "ה" און דעמאָלט אן אנדער אַלפאַבעטיקאַל כאַראַקטער 135 00:10:26,820 --> 00:10:30,060 און דעמאָלט עם, אַזוי דאָ וואָס וואָלט גלייַכן שינקע 136 00:10:30,060 --> 00:10:34,480 אין ", אברהם לינקאָלן און שינקע סאַמוויטשיז." 137 00:10:35,040 --> 00:10:37,150 דאס איז דער רעזולטאַט פון וואָס גרופּע. 138 00:10:37,680 --> 00:10:43,130 אן אנדער זאַך וואָס מיר קענען טאָן איז נוצן אונדזער איידער סטרינגס פון טעקסט אין פּיטהאָן. 139 00:10:43,130 --> 00:10:46,220 אזוי איך טרעפן איך וועל גיין פאָרויס און ציען וואָס אַרויף דאָ. 140 00:10:46,220 --> 00:10:49,210 פּיטהאָן אַרייַנפיר שייַעך. 141 00:10:50,070 --> 00:10:54,000 און אויב איך האבן צו טאָן די זעלבע זאַך - לאָזן אונדז זאָגן טעקסט איז, 142 00:10:55,390 --> 00:11:00,800 "אברהם," לאָזן אונדז פארגרעסער אין - עס מיר גיין. 143 00:11:01,610 --> 00:11:06,430 טעקסט איז, "אברהם עסט שינקע." 144 00:11:07,460 --> 00:11:15,260 אָוקיי, און דעמאָלט רעזולטאַט = רע.סעאַרטש. 145 00:11:16,260 --> 00:11:22,020 און דעמאָלט אונדזער אויסדרוק קענען זייַן ה, און דעמאָלט איך וועל טאָן פּונקט עם. 146 00:11:22,020 --> 00:11:26,280 אזוי פּונקט נאָר נעמט קיין כאַראַקטער וואָס איז נישט אַ נייע שורה אַרייַנגערעכנט נומערן, 147 00:11:26,280 --> 00:11:28,650 פּראָצענט וואונדער, עפּעס ווי אַז. 148 00:11:28,650 --> 00:11:38,030 און דעמאָלט טעקסט - בום - און דעמאָלט רעסולט.גראָופּ--יאָ. 149 00:11:38,030 --> 00:11:41,820 אזוי אַז איז נאָר ווי צו ינסטרומענט גרונט פאַנגקשאַנאַליטי דאָ. 150 00:11:42,300 --> 00:11:55,110 אויב מיר האבן אַ טעקסט רינג וואָס - וואָס משוגע טעקסט - אַרייַנגערעכנט זאָגן גורל פון צוריק סלאַשיז 151 00:11:55,110 --> 00:12:01,180 און סטרינגס ין און זאכן וואָס קען קוקן ווי אַנטלויפן סיקוואַנסיז, 152 00:12:01,180 --> 00:12:08,480 דעמאָלט מיר מיסטאָמע ווילן צו נוצן די רוי טעקסט אַרייַנשרייַב צו מאַכן זיכער אַז איז אנגענומען. 153 00:12:08,480 --> 00:12:14,120 און אַז נאָר קוקט ווי אַז. 154 00:12:14,120 --> 00:12:17,810 אזוי אויב מיר זענען קוקן פֿאַר יעדער פון זיי אין עס מיר זאָל ניט געפינען עפּעס. 155 00:12:19,070 --> 00:12:21,680 אבער וואָס איז ווי איר וואָלט ינסטרומענט עס; נאָר איידער די שטריקל פון 156 00:12:21,680 --> 00:12:24,990 די רעגולער אויסדרוק איר שטעלן די בריוו ר. 157 00:12:26,150 --> 00:12:30,260 >> אָוקיי, אַזוי לאָזן אונדז האַלטן געגאנגען. 158 00:12:30,260 --> 00:12:33,730 כל רעכט - אַזוי לאָזן אונדז קוקן אין אַ פּאָר ריפּעטיטיוו פּאַטערנז דאָ. 159 00:12:34,750 --> 00:12:39,150 אזוי איין זאַך אַז איר ווילן צו טאָן איז איבערחזרן זאכן 160 00:12:40,040 --> 00:12:42,480 ווי איר זענט שאַרף דורך טעקסט. 161 00:12:42,480 --> 00:12:48,300 אזוי צו טאָן אַ נאכגעגאנגען דורך קיין נומער פון ב - איר טאָן אַב *. 162 00:12:48,630 --> 00:12:51,620 און דעמאָלט דאָרט זענען אַ סעריע פון ​​אנדערע כּללים אויך. 163 00:12:51,620 --> 00:12:54,380 און איר קענען קוקן אַלע פון ​​די אַרויף; איך וועט נאָר לויפן דורך עטלעכע פון ​​די 164 00:12:54,380 --> 00:12:57,630 רובֿ קאַמאַנלי געניצט אָנעס. 165 00:12:57,630 --> 00:13:03,920 אזוי אַב + איז אַ נאכגעגאנגען דורך קיין ען גרעסער ווי 0 פון ב. 166 00:13:04,510 --> 00:13:08,000 אַב? איז אַ נאכגעגאנגען דורך 0 אָדער 1 פון ב. 167 00:13:09,190 --> 00:13:18,580 אַב {ען} איז אַ נאכגעגאנגען דורך ען פון בייטן, און דעמאָלט אַזוי אויף. 168 00:13:18,580 --> 00:13:22,820 אויב איר האָט 2 נומערן אין די געגרייַזלט ברייסאַז איר זענט ספּעסאַפייינג אַ קייט 169 00:13:23,300 --> 00:13:25,440 וואָס קענען זייַן עפשער מאַטשט. 170 00:13:26,390 --> 00:13:30,420 אזוי מיר וועלן קוקן מער בייַ אַ פּאָר ריפּעטיטיוו פּאַטערנז אין אַ מינוט. 171 00:13:31,960 --> 00:13:42,300 אזוי 2 זאכן צו האַלטן אין גייַסט ווען ניצן די מוסטער וואָס ריכטן מכשירים דאָ. 172 00:13:42,300 --> 00:13:52,120 אזוי זאָגן מיר ווילן צו קוקן אין די הם פון, "אברהם לינקאָלן מאכט שינקע סאַמוויטשיז." 173 00:13:52,120 --> 00:13:55,230 אזוי איך געביטן אברהם לינקאָלן ס נאָמען צו אברהם. 174 00:13:55,230 --> 00:14:00,290 און איצט מיר זענען קוקן פֿאַר וואָס איז אומגעקערט דורך דעם זוכן פונקציאָנירן, 175 00:14:00,290 --> 00:14:03,270 און עס נאָר קערט שינקע אין דעם פאַל. 176 00:14:03,620 --> 00:14:08,080 און עס טוט אַז ווייַל זוכן נאָר געוויינטלעך נעמט די לינקס רובֿ ריי. 177 00:14:08,080 --> 00:14:12,130 און אַלע רעגולער אויסדרוקן סייַדן איר ספּעציפיצירן אַנדערש וועט טאָן וואָס. 178 00:14:12,830 --> 00:14:18,880 אויב מיר געוואלט צו געפינען אַלע דאָרט איז אַ פֿונקציע פֿאַר וואָס - געפינען אַלע. 179 00:14:18,880 --> 00:14:35,100 אזוי אַז קען נאָר קוק ווי אַלע = רע.פינדאַלל ('ה.ם', טעקסט) 180 00:14:35,100 --> 00:14:44,540 און דעמאָלט אַלל.גראָופּ (). 181 00:14:44,540 --> 00:14:51,040 כל טראגט ביידע שינקע און שינקע; אין דעם פאַל ביידע פון ​​די סטרינגס אין אברהם יעדער שינקע. 182 00:14:51,610 --> 00:14:55,110 אזוי אַז איז אן אנדער אָפּציע. 183 00:14:56,250 --> 00:15:06,940 >> גרויס. די אנדערע זאַך צו האַלטן אין גייַסט איז אַז רעגולער אויסדרוקן נעמען דעם גרעסטן ינטויטיוולי. 184 00:15:06,940 --> 00:15:09,520 זאל אונדז קוקן אין דעם בייַשפּיל. 185 00:15:10,200 --> 00:15:16,070 מיר האבן אַז לינקס רובֿ זוכן דאָ, און דעמאָלט איך געפרוווט אַ גרעסערע זוכן 186 00:15:16,070 --> 00:15:18,800 ניצן די קלעענע שטערן אָפּעראַטאָר. 187 00:15:18,800 --> 00:15:24,180 אזוי פֿאַר, "אברהם לינקאָלן מאכט שינקע סאַמוויטשיז," און איך נאָר גאַט צוריק 188 00:15:24,180 --> 00:15:26,280 עם ווי אַ רעזולטאַט. 189 00:15:26,280 --> 00:15:31,670 די סיבה פֿאַר וואָס גרייַז איז געווען אַז איך קען האָבן גענומען קיין נומער פון 190 00:15:31,670 --> 00:15:36,140 ה 'ס ווייַל איך האט נישט ספּעציפיצירן עפּעס צו גיין אין צווישן ה און עם. 191 00:15:36,140 --> 00:15:42,010 דער בלויז בייַשפּיל עס אַז האט עם - די בלויז ביישפילן דאָרט מיט עם אין עס 192 00:15:42,010 --> 00:15:46,220 און קיין נומער פון ה 'ס זענען נאָר די שטריקל עם. 193 00:15:46,490 --> 00:15:51,850 דעמאָלט איך געפרוווט עס ווידער; איך געזאגט, "אָוקיי, לאָזן אונדז באַקומען די פאַקטיש גרעסטער גרופּע דאָ." 194 00:15:51,850 --> 00:15:59,670 און דעמאָלט איך האט ה. * ם, אַזוי אַז נאָר קערט קיין נומער פון אותיות צווישן ה און עם. 195 00:16:00,280 --> 00:16:02,950 און אויב איר זענט נאָר סטאַרטינג אויס און טראכטן, "אָה, אָוקיי, געזונט דעם וועט 196 00:16:02,950 --> 00:16:11,560 באַקומען מיר שינקע, "עס פאקטיש נעמט אַלץ פון די ה אין אברהם לינקאָלן 197 00:16:11,560 --> 00:16:13,690 אַלע די וועג אַרויף צו די סוף פון שינקע. 198 00:16:14,040 --> 00:16:18,110 עס איז זשעדנע; עס זעט ה - אַלע דעם אנדערע טעקסט - עם, 199 00:16:18,110 --> 00:16:21,280 און וואָס איז וואָס עס נעמט ין 200 00:16:22,060 --> 00:16:27,480 דאס איז אַ הויפּט יגרידזשאַס - דאָס איז אַ שטריך מיר קענען אויך 201 00:16:27,480 --> 00:16:30,670 ספּעציפיצירן פֿאַר עס נישט זייַן זשעדנע ניצן אנדערע פאַנגקשאַנז. 202 00:16:31,480 --> 00:16:34,490 אבער דאָס איז עפּעס מיר האָבן צו האַלטן אין גייַסט ספּעציעל 203 00:16:34,490 --> 00:16:38,720 ווען קוקן אין HTML טעקסט, וואָס איז איין סיבה אַז 204 00:16:38,720 --> 00:16:41,500 רעגולער אויסדרוקן זענען שווער פֿאַר HTML. 205 00:16:42,460 --> 00:16:46,310 ווייַל אויב איר האָבן אַ HTML עפענען פאַרבינדן און דעמאָלט גורל פון שטאָפּן אין די מיטל 206 00:16:46,310 --> 00:16:49,820 און דעמאָלט עטלעכע אנדערע HTML פארמאכט פאַרבינדן פיל שפּעטער אין די פּראָגראַם, 207 00:16:49,820 --> 00:16:55,420 איר האָט נאָר געגעסן אַרויף אַ פּלאַץ פון דיין HTML קאָד עפשער דורך גרייַז. 208 00:16:56,200 --> 00:17:01,840 >> כל רעכט - אַזוי מער ספּעציעל אותיות, ווי פילע אנדערע שפּראַכן, 209 00:17:01,840 --> 00:17:04,780 מיר אַנטלויפן ניצן די צעהאַקן. 210 00:17:04,780 --> 00:17:10,329 אזוי מיר קענען נוצן די פּונקט צו ספּעציפיצירן קיין כאַראַקטער חוץ פֿאַר אַ נייַ שורה. 211 00:17:10,329 --> 00:17:14,550 מיר קענען נוצן די אַנטלויפן ד צו ספּעציפיצירן קיין אַלפאַבעטיקאַל כאַראַקטער. 212 00:17:14,550 --> 00:17:20,329 און דורך אַנאַלאַדזשי אַנטלויפן די פֿאַר קיין ינטאַדזשער - נומעריקאַל כאַראַקטער. 213 00:17:20,630 --> 00:17:27,440 מיר קענען ספּעציפיצירן - מיר קענען נוצן בראַקאַץ צו ספּעציפיצירן פֿאַרבונדענע אויסדרוקן. 214 00:17:27,440 --> 00:17:30,970 אזוי דעם וואָלט אָננעמען אַ, ב, אָדער C. 215 00:17:31,320 --> 00:17:37,000 און מיר קענען אויך ספּעציפיצירן אָדער אָפּציעס פֿאַר אָדער אַ אָדער ב. 216 00:17:37,000 --> 00:17:41,110 למשל - אויב מיר זענען קוקן פֿאַר קייפל פּאַסאַבילאַטיז 217 00:17:41,110 --> 00:17:44,940 אין בראַקאַץ מיר קען נוצן דעם אָדער אָפּעראַטאָר ווי אין - 218 00:17:44,940 --> 00:17:52,480 אַזוי לאָזן אונדז גיין צוריק צו דעם בייַשפּיל דאָ. 219 00:17:53,000 --> 00:17:59,790 און איצט לאָזן אונדז נעמען - לאָזן אונדז גיין צוריק צו דעם בייַשפּיל דאָ, און דעמאָלט 220 00:17:59,790 --> 00:18:12,290 נעמען יי - אַזוי דעם זאָל צוריקקומען - איך טרעפן דעם איז נאָך אברהם. 221 00:18:12,290 --> 00:18:17,410 אזוי דעם - אויב מיר טאָן אַלע - גרויס. 222 00:18:17,410 --> 00:18:22,700 אזוי לאָזן אונדז דערהייַנטיקן די טעקסט דאָ. 223 00:18:22,700 --> 00:18:34,690 "אברהם עסט שינקע בשעת כעמינג זייַן - בשעת כעמינג." גרויס. 224 00:18:44,090 --> 00:18:47,330 אַלע. גרויס. איצט מיר באַקומען שינקע, שינקע, און צוים. 225 00:18:48,510 --> 00:18:59,370 בשעת כעמינג - בשעת כאַמינג צו אים - בשעת כאַמינג צו צוים אים. גרויס. 226 00:19:00,350 --> 00:19:03,250 זעלביקער זאַך. 227 00:19:03,820 --> 00:19:09,180 איצט אַלע קערט נאָך נאָר שינקע, שינקע, און צוים אָן פּיקינג אַרויף אויף די ברומען אָדער די אים. 228 00:19:09,940 --> 00:19:22,600 גרויס - אַזוי וואָס אויב מיר געוואלט צו קוקן בייַ יעדער אַז - אַזוי מיר קען אויך טאָן 229 00:19:23,510 --> 00:19:33,810 אים אָדער - מיר וועלן קומען צוריק צו אַז. 230 00:19:34,810 --> 00:19:45,760 אָוקיי - אַזוי - אַלע רעכט - אין שטעלעס איר קענען אויך נוצן דעם קאַרעט אָדער דער דאָלאַר צייכן 231 00:19:45,760 --> 00:19:49,350 צו ספּעציפיצירן אַז איר זענט קוקן פֿאַר עפּעס אין די אָנהייב אָדער דער סוף פון אַ שטריקל. 232 00:19:50,260 --> 00:19:52,260 אָדער די אָנהייב אָדער דער סוף פון אַ וואָרט. 233 00:19:52,400 --> 00:19:54,470 וואָס איז איין וועג צו נוצן וואָס. 234 00:19:55,630 --> 00:20:01,160 >> אָוקיי - אַזוי לאָזן אונדז שפּילן אַרום מיט אַ ביסל גרעסערע בלאָק פון טעקסט. 235 00:20:03,950 --> 00:20:08,310 זאל אונדז זאָגן דעם רודערן דאָ - דעם דערקלערונג דאָ. 236 00:20:08,310 --> 00:20:11,360 די מאַכט פון רעגולער אויסדרוק איז אַז זיי קענען ספּעציפיצירן פּאַטערנז 237 00:20:11,360 --> 00:20:13,390 נישט נאָר פאַרפעסטיקט אותיות. 238 00:20:14,900 --> 00:20:18,790 זאל אונדז מאַכן - לאָזן אונדז רופן דעם בלאָק. 239 00:20:22,400 --> 00:20:27,110 דעמאָלט מיר וועלן לייענען אַלע פון ​​וואָס ין 240 00:20:28,890 --> 00:20:50,820 און דעריבער האָבן אַ - לאָזן אונדז מאַכן אַלע =; אַזוי וואָס זענען עטלעכע זאכן מיר געקענט זוכן אין דאָ פּראַפאַטאַבלי? 241 00:20:50,820 --> 00:20:54,070 מיר געקענט קוקן פֿאַר דעם אויסדרוק אויער. 242 00:20:55,050 --> 00:21:01,520 ניט זייער טשיקאַווע. ווי וועגן וואָס? מיר וועט זען וואָס כאַפּאַנז. 243 00:21:03,710 --> 00:21:05,710 איך האט עס אַ פּראָבלעם. 244 00:21:06,380 --> 00:21:10,750 אזוי קיין נומער פון זאכן איידער שייַעך און אַלע. 245 00:21:10,750 --> 00:21:15,630 אזוי אַז זאָל צוריקקומען אַלץ פון די אָנהייב אַרויף צו אַלע שייַעך טאָמער אַ פּאָר מאל. 246 00:21:18,800 --> 00:21:21,970 און דעריבער דאָ מיר האָבן די מאַכט פון רעגולער אויסדרוקן איז אַז זיי 247 00:21:21,970 --> 00:21:24,900 קענען ספּעציפיצירן פּאַטערנז נישט נאָר אותיות דאָ זענען. 248 00:21:24,900 --> 00:21:28,510 אזוי אַלע די וועג אַרויף צו די לעצט שייַעך, עס אנגעהויבן מיט די לינקס רובֿ און איז געווען זשעדנע. 249 00:21:30,710 --> 00:21:32,710 זאל אונדז זען - וואָס אַנדערש קען מיר קוקן פֿאַר. 250 00:21:32,710 --> 00:21:39,860 איך טרעפן איין זאַך אויב איר געווען אינטערעסירט אין קוקן פֿאַר די פּראָנאָונס זי און ער, 251 00:21:39,860 --> 00:21:44,600 איר קען טשעק פֿאַר ס זייַענדיק גלייַך צו 0 אָדער 1 252 00:21:44,600 --> 00:21:49,710 און דער אויסדרוק ער, און אַז איז מיסטאָמע נישט געגאנגען צו צוריקקומען - 253 00:21:49,710 --> 00:21:58,020 אָה, איך טרעפן עס אומגעקערט ער ווייַל עס מיר זענען קוקן בייַ די מאַכט, וואָס טאָג, דאָ זענען. 254 00:22:00,590 --> 00:22:06,270 זאל אונדז פּרובירן ספּעסאַפייינג אַז דאָס האט צו קומען אין די אָנהייב פון עפּעס. 255 00:22:06,640 --> 00:22:09,530 זאל אונדז זען אויב אַז טראפנס אַוועק. 256 00:22:09,530 --> 00:22:19,630 אזוי מיר קענען טאָן פעט, און עס מיר טאָן ניט באַקומען עפּעס ווייַל זי און ער 257 00:22:19,630 --> 00:22:22,870 טאָן ניט פאַלן אין דעם פראַזע. 258 00:22:24,960 --> 00:22:30,410 גרויס. אָוקיי - אַזוי צוריק צו דער קאַץ דאָ. 259 00:22:30,410 --> 00:22:35,720 אזוי קאָמפּלעקס פּאַטערנז איז כערטינג דעם מאַרך. 260 00:22:35,720 --> 00:22:40,500 אזוי אַז איז וואָס מיר נוצן רעגולער אויסדרוקן צו ויסמייַדן די ישוז. 261 00:22:40,820 --> 00:22:43,520 >> אזוי דאָ זענען עטלעכע אנדערע נוצלעך מאָדעס איר קענען שפּילן אַרום מיט. 262 00:22:43,520 --> 00:22:50,290 מיר געקוקט בייַ זוכן הייַנט, אָבער איר קענען אויך נוצן גלייַכן, שפּאַלטן, פינדאַלל, און גרופּעס. 263 00:22:50,290 --> 00:22:53,970 אזוי אנדערע קיל זאכן איר קענען טאָן מיט רעגולער אויסדרוקן חוץ נאָר 264 00:22:53,970 --> 00:22:58,870 קוקן פֿאַר פּאַטערנז איז גענומען אַ מוסטער און האלטן אַלע די שוועבעלעך - 265 00:22:58,870 --> 00:23:02,530 זייַן וועריאַבאַלז - און דעמאָלט ניצן די אין דיין קאָד שפּעטער אויף. 266 00:23:02,850 --> 00:23:05,980 וואָס קענען זייַן גאַנץ נוציק. אנדערע זאכן זאל זייַן קאַונטינג. 267 00:23:05,980 --> 00:23:11,720 אזוי מיר קענען ציילן די נומער פון ינסטאַנסיז פון אַ רעגולער אויסדרוק מוסטער, 268 00:23:11,720 --> 00:23:13,960 און וואָס איז וואָס מיר קענען נוצן גרופּעס פֿאַר. 269 00:23:13,960 --> 00:23:17,550 און אנדערע מאָדעס ווי גוט זענען אויך מעגלעך. 270 00:23:18,040 --> 00:23:22,980 אזוי איך נאָר ווילן צו רעדן אַ ביסל ביסל מער וועגן אנדערע וועגן איר קענען נוצן רעגולער אויסדרוקן. 271 00:23:22,980 --> 00:23:29,100 >> אזוי איינער מער אַוואַנסירטע אַפּלאַקיישאַן איז אין פאַזי וואָס ריכטן. 272 00:23:29,100 --> 00:23:33,450 אזוי אויב איר זענט קוקן פֿאַר אַ טעקסט פֿאַר די אויסדרוק, יוליוס קיסר, 273 00:23:33,450 --> 00:23:37,740 און איר זען אָדער גאַיוס יוליוס קיסר אָדער די נאָמען יוליוס קיסר אין אנדערע שפּראַכן, 274 00:23:37,740 --> 00:23:44,400 דעמאָלט איר זאל אויך ווילן צו באַשטימען עטלעכע וואָג צו יענע וואַלועס. 275 00:23:44,400 --> 00:23:48,930 און אויב עס איז נאָענט גענוג - אויב עס קראָסיז אַ זיכער שוועל - דעמאָלט איר ווילן 276 00:23:48,930 --> 00:23:50,860 צו קענען צו אָננעמען יוליוס קיסר. 277 00:23:50,860 --> 00:24:00,580 אזוי דאָרט זענען אַ פּאָר פאַרשידענע ימפּלעמענטאַטיאָנס פֿאַר אַז אין אַ ביסל אנדערע שפּראַכן ווי געזונט. 278 00:24:02,580 --> 00:24:08,420 דאָ זענען עטלעכע אנדערע מכשירים, רעגעקס פּאַל - אַ האַנטיק ביסל אַפּ אָנליין צו 279 00:24:08,420 --> 00:24:12,190 טשעק אויב דיין רעגולער אויסדרוקן זענען פארפאסט ריכטיק. 280 00:24:12,190 --> 00:24:18,500 עס זענען אויך סטאַנדאַלאָנע מכשירים אַז איר קענען לויפן פון דיין דעסקטאַפּ 281 00:24:18,500 --> 00:24:22,100 ווי אַלטראַ פּיקאָ, און ווי געזונט ווי נאָר קוקבוקס. 282 00:24:22,100 --> 00:24:25,410 אזוי אויב איר זענט טאן אַ פּרויעקט וואָס ינוואַלווז אַ טאָן פון רעגולער אויסדרוקן 283 00:24:25,410 --> 00:24:29,810 דאָס איז מיסטאָמע דער אָרט צו גיין אַרויס דעם פאַרנעם פון הייַנט. 284 00:24:31,520 --> 00:24:35,770 און דעמאָלט נאָר צו געבן איר אַ זינען פון ווי פּראָסט עס איז 285 00:24:35,770 --> 00:24:44,090 עס איז גרעפּ אין יוניקס, פּערל האט געבויט-אין, און C עס איז פּקרע פֿאַר סי 286 00:24:44,090 --> 00:24:48,890 און דעריבער אַלע די אנדערע שפּראַכן אויך האָבן רעגולער אויסדרוק פּאַקאַדזשאַז 287 00:24:48,890 --> 00:24:52,020 וואָס אַרבעטן מיט יסענשאַלי דער זעלביקער סינטאַקס מיר גאַט אַ טעם פון הייַנט. 288 00:24:52,020 --> 00:24:54,790 פפּ, דזשאַוואַ, רובי, און אַזוי אויף. 289 00:24:56,080 --> 00:24:58,980 >> גוגל קאָוד זוכן איז פאקטיש ווערט מענשאַנינג; עס איז איינער פון די 290 00:24:58,980 --> 00:25:05,720 לעפיערעך ביסל פּראָגראַמען אויס דאָרט אַז אַלאַוז דעם ציבור צו צוטריט 291 00:25:05,720 --> 00:25:07,800 זייַן דאַטאַבאַסע ניצן רעגולער אויסדרוקן. 292 00:25:07,800 --> 00:25:12,920 אזוי אויב איר קוקן אויף גוגל קאָוד זוכן איר קענען געפינען קאָד 293 00:25:12,920 --> 00:25:16,880 אויב איר זענט קוקן פֿאַר אַ בייַשפּיל פון ווי אַ פֿונקציע זאל זייַן געניצט, 294 00:25:16,880 --> 00:25:21,610 איר קענען נוצן אַ רעגולער אויסדרוק צו געפינען וואָס פונקציאָנירן זייַענדיק געניצט אין אַלע סאָרץ פון פאַרשידענע קאַסעס. 295 00:25:21,610 --> 00:25:28,000 איר קען קוקן פֿאַר פווריטע, און דעמאָלט איר געקענט קוקן פֿאַר די פאָן פון שרייַבן אָדער לייענען 296 00:25:28,000 --> 00:25:32,000 אויב איר געוואלט אַ בייַשפּיל פון פווריטע זייַענדיק געניצט אין אַז פאַל. 297 00:25:33,530 --> 00:25:37,010 אזוי די זעלבע זאַך דאָרט, און דאָ זענען עטלעכע באַווייַזן. 298 00:25:37,010 --> 00:25:40,990 דאס וועט זייַן פאַראַנען אָנליין ווי געזונט, אַזוי געגאנגען פאָרווערדז אויב 299 00:25:40,990 --> 00:25:45,560 איר ווילן צו קוקן בייַ פּיטהאָן, גרעפּ, פּערל - איר נאָר ווילן צו באַקומען עטלעכע ינספּיראַציע 300 00:25:45,560 --> 00:25:50,650 אָדער אויב איר ווילן צו קוקן מער אין די טעאָריע דאָ זענען עטלעכע גוט דזשאַמפּינג אַוועק ערטער. 301 00:25:50,650 --> 00:25:53,870 דאנק איר זייער פיל. 302 00:25:58,470 --> 00:25:59,910 [CS50.TV]