1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Semina: Pattern vinavyolingana na mara kwa mara Expressions] 2 00:00:02,000 --> 00:00:04,000 [Yohana Mussman-Chuo Kikuu cha Harvard] 3 00:00:04,000 --> 00:00:07,220 [Hii ni CS50.-CS50.TV] 4 00:00:07,780 --> 00:00:11,610 Sawa. Naam, kuwakaribisha kila mtu. Hii ni CS50 2012. 5 00:00:11,780 --> 00:00:16,610 Jina langu ni John, na mimi itakuwa kuzungumza leo juu ya maneno ya kawaida. 6 00:00:16,610 --> 00:00:22,530 Maneno ya kawaida kimsingi ni chombo, lakini pia wakati mwingine kutumiwa 7 00:00:22,530 --> 00:00:28,650 katika kanuni ya kimsingi kikamilifu mechi ya chati na masharti. 8 00:00:28,650 --> 00:00:33,800 Hivyo hapa ni Comic mtandao kutoka XKCD. 9 00:00:34,440 --> 00:00:42,370 Katika Comic hii kuna siri ya mauaji ambapo muuaji ana 10 00:00:42,370 --> 00:00:47,860 ikifuatiwa mtu juu ya likizo, na wahusika wakuu na 11 00:00:47,860 --> 00:00:52,500 kutafuta njia ya megabaiti 200 wa barua pepe kuangalia kwa anwani. 12 00:00:52,500 --> 00:00:56,090 Na wao ni kuhusu kutoa wakati mtu ambaye anajua maneno ya kawaida - 13 00:00:56,090 --> 00:01:00,550 labda superhero - uvamizi chini na anaandika baadhi ya kanuni 14 00:01:00,550 --> 00:01:02,970 na kutatua siri ya mauaji. 15 00:01:02,970 --> 00:01:07,370 Hivyo labda hiyo itakuwa kitu ambacho utakuwa uwezo wa kufanya 16 00:01:07,370 --> 00:01:09,370 baada ya semina hii. 17 00:01:09,370 --> 00:01:12,250 Sisi ni tu kwenda kutoa utangulizi mafupi kwa lugha 18 00:01:12,250 --> 00:01:16,770 na kukupa kutosha pata kwenda baada ya rasilimali zaidi juu yako mwenyewe. 19 00:01:17,680 --> 00:01:21,700 >> Hivyo mara kwa mara maneno kuangalia kimsingi kama hii. 20 00:01:22,930 --> 00:01:25,550 Hii ni kujieleza mara kwa mara katika Ruby. 21 00:01:25,550 --> 00:01:29,280 Ni si sana mbalimbali katika lugha. 22 00:01:29,690 --> 00:01:37,630 Tuna tu kwenye mikwaju ya kuanza na alama ya kujieleza mara kwa mara katika Ruby. 23 00:01:37,630 --> 00:01:42,880 Na hii ni mara kwa mara kujieleza kwa kuangalia katika barua pepe muundo anwani. 24 00:01:42,880 --> 00:01:49,160 Hivyo tunaona saa kidogo kwanza inaonekana kwa tabia yoyote kukosa. 25 00:01:50,500 --> 00:01:54,880 Hayo ni kwa sababu anwani za barua pepe mara nyingi kuwa na kuanza na herufi herufi. 26 00:01:55,460 --> 00:01:59,330 Na kisha tabia yoyote maalum ikifuatiwa na alama ya @. 27 00:01:59,330 --> 00:02:03,260 Na kisha kitu kimoja kwa jina la uwanja. 28 00:02:03,260 --> 00:02:10,030 Na kisha kati ya 2 na 4 wahusika kuangalia kwa com., Wavu., Na kadhalika. 29 00:02:10,850 --> 00:02:13,200 Hivyo kwamba ni mfano mwingine wa kujieleza kwa mara. 30 00:02:13,200 --> 00:02:17,270 Hivyo mara kwa mara maneno ni itifaki kwa ajili ya kutafuta patters katika maandishi. 31 00:02:17,270 --> 00:02:21,130 Wao kufanya kulinganisha uchaguzi, na replacements. 32 00:02:21,690 --> 00:02:27,970 Hivyo mfano wa tatu ni kutafuta namba zote za simu kuishia katika 54 katika orodha. 33 00:02:27,970 --> 00:02:34,360 Hivyo kabla ya rips Daudi hadi saraka CS50 tunaweza kutafuta 34 00:02:34,360 --> 00:02:40,450 muundo ambapo tuna mabano kisha 3 idadi kisha mwisho mabano, 35 00:02:40,450 --> 00:02:44,070 3 zaidi ya idadi, dash, namba 2, na kisha 54. 36 00:02:44,070 --> 00:02:48,310 Na kwamba itakuwa kimsingi jinsi sisi kuja na kujieleza kwa mara ya kutafuta kwa ajili hiyo. 37 00:02:49,150 --> 00:02:52,960 >> Hivyo kuna - tumefanya baadhi ya mambo katika CS50 kwamba ni kidogo kama 38 00:02:52,960 --> 00:02:59,740 mara kwa mara maneno, hivyo - kwa mfano - katika faili dictionary.C 39 00:02:59,740 --> 00:03:04,720 kwa ajili ya kuweka Spell kuangalia tatizo unaweza kuwa kutumika fscanf 40 00:03:04,720 --> 00:03:07,930 kusoma katika neno kutoka kamusi. 41 00:03:07,930 --> 00:03:16,240 Na unaweza kuona 45s asilimia ni kuangalia kwa kamba ya wahusika 45. 42 00:03:16,240 --> 00:03:20,020 Hivyo ni kiasi fulani kama kujieleza rudimentary mara kwa mara. 43 00:03:21,150 --> 00:03:26,060 Na unaweza kuwa na wahusika yoyote 45 kwamba inafaa muswada katika huko 44 00:03:26,060 --> 00:03:28,080 na kuchukua wale up. 45 00:03:28,080 --> 00:03:33,480 Na kisha mfano wa pili katika tatizo hivi karibuni mtandao programu 46 00:03:33,480 --> 00:03:40,760 kuweka katika kanuni distro kwa php sisi kwa kweli kufanya kuwa rahisi kwa mara kujieleza. 47 00:03:40,760 --> 00:03:46,790 Na hii ni moja tu kuangalia tu kwa kuangalia kama ukurasa mtandao kuwa ni kupita katika 48 00:03:46,790 --> 00:03:51,940 mechi aidha kuingia au logout kujiandikisha PHP.. 49 00:03:52,220 --> 00:03:57,910 Na kisha kurudi kweli au uongo msingi kwamba vinavyolingana mara kwa mara kujieleza. 50 00:03:59,400 --> 00:04:01,740 >> Hivyo wakati gani unaweza kutumia usemi mara kwa mara? 51 00:04:01,740 --> 00:04:04,820 Kwa nini uko hapa leo? 52 00:04:05,330 --> 00:04:08,480 Hivyo hutaki kutumia usemi wa mara kwa mara wakati kuna kitu ambacho 53 00:04:08,480 --> 00:04:11,640 anafanya kazi kwa ajili yenu hata kwa urahisi zaidi. 54 00:04:11,640 --> 00:04:15,510 Hivyo XML na HTML ni kweli pretty gumu 55 00:04:15,510 --> 00:04:18,480 kuandika maneno ya kawaida kwa kama tutakavyoona katika kidogo. 56 00:04:19,110 --> 00:04:23,280 Hivyo kuna parsers kujitolea kwa ajili ya lugha hizo. 57 00:04:24,170 --> 00:04:30,060 Wewe pia haja ya kuwa sawa na awamu ya pili ya biashara na usahihi mara kwa mara. 58 00:04:30,060 --> 00:04:36,220 Kama wewe ni kujaribu - hivyo tuliona kujieleza mara kwa mara kwa anuani ya barua pepe, 59 00:04:37,370 --> 00:04:42,590 lakini kusema alitaka maalum barua pepe na hatua kwa hatua 60 00:04:42,590 --> 00:04:48,570 kujieleza mara kwa mara ili kuwa ngumu zaidi kama ikawa sahihi zaidi. 61 00:04:49,580 --> 00:04:52,260 Hivyo kwamba itakuwa moja ya biashara ya mbali. 62 00:04:52,260 --> 00:04:55,330 Una kuwa na uhakika kwamba wewe ni sawa na kufanya na kujieleza kwa mara. 63 00:04:55,330 --> 00:04:57,920 Kama unajua nini hasa ni kuangalia kwa hivyo ili kufanya zaidi ya akili 64 00:04:57,920 --> 00:05:02,070 kuweka katika muda na kuandika parser ufanisi zaidi. 65 00:05:02,070 --> 00:05:06,980 Na hatimaye kuna suala kihistoria na utaratibu 66 00:05:06,980 --> 00:05:08,940 ya maneno na lugha. 67 00:05:08,940 --> 00:05:12,960 Maneno ya kawaida ni kweli sana na nguvu zaidi kuliko 68 00:05:12,960 --> 00:05:16,450 mara kwa mara maneno kwa kusema katika maana rasmi. 69 00:05:17,130 --> 00:05:20,150 >> Hivyo mimi sitaki kwenda mbali sana katika nadharia rasmi, 70 00:05:20,150 --> 00:05:24,000 lakini wengi lugha kwamba sisi katika kanuni ya kweli si mara kwa mara. 71 00:05:24,000 --> 00:05:29,110 Na hii ni kwa nini maneno ya kawaida wakati mwingine si kuchukuliwa yote salama. 72 00:05:29,670 --> 00:05:33,150 Hivyo kimsingi kuna uongozi Chomsky kwa lugha, 73 00:05:33,150 --> 00:05:38,400 na maneno ya kawaida ni kujenga kwa kutumia muungano, concatenation, 74 00:05:38,400 --> 00:05:41,810 na nyota Kleene operesheni kuwa tutaona katika dakika chache. 75 00:05:43,130 --> 00:05:48,860 Kama una nia katika nadharia kuna mengi kabisa kwenda huko chini ya Hood. 76 00:05:50,360 --> 00:05:55,880 >> Hivyo Historia fupi - tu kwa ajili ya mazingira hapa - seti ya mara kwa mara alikuja 77 00:05:55,880 --> 00:05:59,580 katika miaka ya 1950, na kisha tulikuwa na wahariri rahisi kwamba 78 00:05:59,580 --> 00:06:03,300 kuingizwa maneno ya kawaida - tu kwa ajili ya kutafuta masharti. 79 00:06:03,570 --> 00:06:09,110 Grep - ambayo ni ya mstari amri chombo - alikuwa mmoja wa kwanza 80 00:06:09,110 --> 00:06:14,160 maarufu sana zana kwamba kuingizwa maneno ya kawaida katika miaka ya 1960. 81 00:06:14,160 --> 00:06:20,560 Katika '80s, Perl ilijengwa - ni lugha ya programu kwamba 82 00:06:20,560 --> 00:06:24,110 inashirikisha maneno ya kawaida sana maarufu. 83 00:06:24,550 --> 00:06:30,130 Na kisha zaidi hivi karibuni tuna alikuwa Perl sambamba mara kwa mara kujieleza 84 00:06:30,130 --> 00:06:35,870 itifaki ya kimsingi katika lugha nyingine ya kwamba matumizi mengi ya syntax sawa. 85 00:06:36,630 --> 00:06:39,840 Bila shaka tukio muhimu zaidi ilikuwa mwaka 2008 86 00:06:39,840 --> 00:06:43,040 ambapo kulikuwa na mara kwa mara ya kwanza Taifa Expressions Siku, 87 00:06:43,040 --> 00:06:47,350 ambayo naamini ni Juni 1 kama unataka kusherehekea kwamba. 88 00:06:48,430 --> 00:06:50,840 >> Tena, kidogo tu nadharia zaidi hapa. 89 00:06:52,180 --> 00:06:55,320 Hivyo kuna wanandoa njia tofauti ya ujenzi wa maneno ya kawaida. 90 00:06:55,950 --> 00:07:02,050 Moja ya njia rahisi ni kujenga kujieleza kwamba wewe ni kwenda 91 00:07:02,050 --> 00:07:07,500 kukimbia juu ya kamba kutafsiri - kimsingi kujenga mdogo wa mpango kwamba 92 00:07:07,500 --> 00:07:11,870 kuchambua vipande vya kamba na kuona, "Oh, hii haina fit kujieleza mara kwa mara au siyo?" 93 00:07:12,250 --> 00:07:14,250 Na kisha kukimbia kwamba. 94 00:07:14,250 --> 00:07:17,300 Hivyo kama una ndogo sana ya mara kwa mara kujieleza, hii pengine ni 95 00:07:17,300 --> 00:07:19,380 njia bora zaidi ya kufanya hivyo. 96 00:07:20,090 --> 00:07:25,420 Na kisha kama wewe - njia nyingine ni kuweka reconstructing 97 00:07:25,420 --> 00:07:30,260 kujieleza kama wewe kwenda, na kwamba ni uwezekano kuiga. 98 00:07:30,440 --> 00:07:37,690 Na majaribio haya mapema saa algorithms ya mara kwa mara kujieleza walikuwa 99 00:07:37,690 --> 00:07:44,330 rahisi kiasi na kiasi haraka, lakini hakuwa na mengi ya kubadilika. 100 00:07:44,330 --> 00:07:47,500 Hivyo kufanya hata baadhi ya mambo ambayo sisi ni kwenda kuangalia 101 00:07:47,500 --> 00:07:52,860 leo tumekuwa na kufanya zaidi ya mara kwa mara tata kujieleza 102 00:07:52,860 --> 00:07:56,650 utekelezaji kwamba ni uwezekano wa polepole sana, hivyo kwamba ni kitu cha kuzingatia katika 103 00:07:57,510 --> 00:08:02,920 Kuna pia mara kwa mara maneno ya kunyimwa aina mashambulizi 104 00:08:02,920 --> 00:08:08,330 kwamba kutumia uwezo kwa ajili ya utekelezaji haya ya karibu zaidi ya 105 00:08:08,330 --> 00:08:10,930 mara kwa mara maneno kuwa ngumu sana. 106 00:08:11,570 --> 00:08:15,650 Na katika mengi hisia sawa kuwa tuliona katika mashambulizi kufurika buffer, 107 00:08:15,650 --> 00:08:21,610 una mashambulizi ya kwamba kazi kwa kufanya mizunguko kujirudia kwamba 108 00:08:21,610 --> 00:08:24,400 overrun uwezo wa kumbukumbu. 109 00:08:24,780 --> 00:08:29,540 Na kwa njia Regexen ni moja ya wingi rasmi wa kujieleza mara kwa mara 110 00:08:29,540 --> 00:08:32,890 kwa mlinganisho wa ng'ombe katika Anglo-Saxon. 111 00:08:33,500 --> 00:08:40,169 >> Sawa, hivyo Library chatu wengi wenu hapa katika mtu kuwa Macs, 112 00:08:40,169 --> 00:08:43,860 hivyo unaweza kweli kuvuta hii juu ya screen yako. 113 00:08:43,860 --> 00:08:47,480 Maneno ya kawaida ni kujengwa katika Python. 114 00:08:48,070 --> 00:08:53,020 Na hivyo chatu ni preloaded juu ya Macs na pia online inapatikana katika link hii. 115 00:08:53,770 --> 00:08:57,350 Hivyo kama wewe ni kuangalia unaweza pause na kuhakikisha kuwa chatu 116 00:08:58,080 --> 00:09:00,170 kama sisi kucheza karibu hapa. 117 00:09:00,780 --> 00:09:06,420 Kuna online mwongozo, hivyo kama wewe tu aina chatu ndani ya kompyuta yako 118 00:09:06,420 --> 00:09:10,500 utaona kwamba toleo anakuja juu katika terminal. 119 00:09:11,070 --> 00:09:17,720 Hivyo mimi zinazotolewa zilizounganishwa na mwongozo kwa Version 2 wa chatu kama vile karatasi ya kudanganya. 120 00:09:17,720 --> 00:09:23,100 Kuna Version 3 wa utambuzi, lakini Mac yako haina lazima 121 00:09:23,100 --> 00:09:25,130 kuja na kwamba preloaded. 122 00:09:25,130 --> 00:09:27,360 Hivyo si sana tofauti. 123 00:09:27,360 --> 00:09:33,270 Sawa, hivyo baadhi ya misingi ya kutumia maneno ya mara kwa mara katika Python. 124 00:09:34,080 --> 00:09:42,650 >> Hivyo hapa mimi alitumia usemi rahisi sana, hivyo sikuwa Python kuagiza re 125 00:09:43,750 --> 00:09:47,070 na kisha alichukua matokeo ya re.search. 126 00:09:47,070 --> 00:09:49,910 Na tafuta inachukua hoja 2. 127 00:09:49,910 --> 00:09:56,040 kwanza ni usemi wa mara kwa mara, na ya pili ni Nakala 128 00:09:56,040 --> 00:09:58,290 au kamba unataka kuchambua. 129 00:09:58,290 --> 00:10:01,210 Na kisha mimi kuchapishwa result.group. 130 00:10:01,580 --> 00:10:05,860 Hivyo hawa ni 2 za msingi majukumu sisi ni kwenda kuona leo 131 00:10:06,790 --> 00:10:10,170 katika kujifunza juu ya maneno ya kawaida. 132 00:10:10,170 --> 00:10:12,880 Hivyo tu kuvunja hii kujieleza mara kwa mara hapa 133 00:10:12,880 --> 00:10:21,770 h na kisha \ w na kisha m hivyo \ w tu anapokea tabia yoyote herufi huko. 134 00:10:21,850 --> 00:10:26,820 Hivyo hapa sisi ni kuangalia kwa "h" na kisha mwingine tabia herufi 135 00:10:26,820 --> 00:10:30,060 na kisha m, hivyo hapa kwamba ingekuwa mechi ham 136 00:10:30,060 --> 00:10:34,480 katika, "Abraham Lincoln na ham sandwiches." 137 00:10:35,040 --> 00:10:37,150 Hii ni matokeo ya kundi hilo. 138 00:10:37,680 --> 00:10:43,130 Kitu kingine kwamba tunaweza kufanya ni kutumia wetu masharti kabla ya asilia katika Python. 139 00:10:43,130 --> 00:10:46,220 Hivyo mimi nadhani kwenda mbele na kuvuta kwamba hapa juu. 140 00:10:46,220 --> 00:10:49,210 Chatu kuagiza re. 141 00:10:50,070 --> 00:10:54,000 Na kama ningekuwa kufanya kitu kimoja - hebu kusema maandishi ni, 142 00:10:55,390 --> 00:11:00,800 "Ibrahimu," hebu kuvuta - kuna sisi kwenda. 143 00:11:01,610 --> 00:11:06,430 Nakala ni, "Ibrahimu anakula ham." 144 00:11:07,460 --> 00:11:15,260 Sawa, na kisha kusababisha = re.search. 145 00:11:16,260 --> 00:11:22,020 Na kisha kujieleza yetu inaweza kuwa na h, na kisha mimi kufanya dot m. 146 00:11:22,020 --> 00:11:26,280 Hivyo dot tu inachukua tabia yoyote ambayo si ya line mpya ikiwa ni pamoja na namba, 147 00:11:26,280 --> 00:11:28,650 asilimia ishara, kitu kama hicho. 148 00:11:28,650 --> 00:11:38,030 Na kisha asilia - boom - na kisha result.group-yeah. 149 00:11:38,030 --> 00:11:41,820 Hivyo kwamba ni jinsi tu ya kutekeleza utendaji ya msingi hapa. 150 00:11:42,300 --> 00:11:55,110 Kama tungekuwa na pete Nakala kwamba - kwamba mambo asilia - pamoja na kusema kura ya mikwaju ya nyuma 151 00:11:55,110 --> 00:12:01,180 na masharti ya ndani na mambo ambayo inaweza kuangalia kama Utaratibu wa kutoroka, 152 00:12:01,180 --> 00:12:08,480 kisha sisi pengine wanataka kutumia mbichi Nakala pembejeo ili kuhakikisha kwamba ni kukubalika. 153 00:12:08,480 --> 00:12:14,120 Na kwamba inaonekana tu kama hiyo. 154 00:12:14,120 --> 00:12:17,810 Hivyo kama sisi kuangalia kwa kila mmoja wao katika huko tunapaswa kupata chochote. 155 00:12:19,070 --> 00:12:21,680 Lakini hiyo ni jinsi gani kutekeleza; tu kabla ya kamba ya 156 00:12:21,680 --> 00:12:24,990 kujieleza kwa mara ya kuweka r barua. 157 00:12:26,150 --> 00:12:30,260 >> Sawa, hivyo basi sisi kuendelea. 158 00:12:30,260 --> 00:12:33,730 Yote ya haki - hivyo hebu tuangalie chati wanandoa repetitive hapa. 159 00:12:34,750 --> 00:12:39,150 Hivyo jambo moja kwamba unataka kufanya ni kurudia mambo 160 00:12:40,040 --> 00:12:42,480 kama wewe ni kutafuta njia ya maandishi. 161 00:12:42,480 --> 00:12:48,300 Kufanya hivyo ikifuatiwa na idadi yoyote ya b - kufanya ab *. 162 00:12:48,630 --> 00:12:51,620 Na kisha kuna mfululizo wa sheria nyingine pia. 163 00:12:51,620 --> 00:12:54,380 Na unaweza kuangalia yote ya juu ya haya; mimi itabidi kukimbia kupitia baadhi ya 164 00:12:54,380 --> 00:12:57,630 kawaida kutumika ndio. 165 00:12:57,630 --> 00:13:03,920 Hivyo ab + ni ikifuatiwa na yoyote N mkubwa kuliko 0 ya b. 166 00:13:04,510 --> 00:13:08,000 ab? ni ikifuatiwa na 0 au 1 ya b. 167 00:13:09,190 --> 00:13:18,580 ab {} N ni ikifuatiwa na N ya b, na kisha kadhalika. 168 00:13:18,580 --> 00:13:22,820 Kama una 2 idadi katika braces curly wewe ni kubainisha mbalimbali 169 00:13:23,300 --> 00:13:25,440 kwamba wanaweza kuwa na uwezekano wa kuendana. 170 00:13:26,390 --> 00:13:30,420 Hivyo tutaangalia zaidi katika chati wanandoa repetitive katika dakika. 171 00:13:31,960 --> 00:13:42,300 Hivyo 2 mambo ya kukumbuka wakati wa kutumia hizi muundo vinavyolingana zana hapa. 172 00:13:42,300 --> 00:13:52,120 Hivyo kusema tunataka kuangalia hm ya, "Abraham Lincoln hufanya sandwiches ham." 173 00:13:52,120 --> 00:13:55,230 Hivyo mimi iliyopita jina Abraham Lincoln kwa Ibrahimu. 174 00:13:55,230 --> 00:14:00,290 Na sasa sisi ni kuangalia kwa nini ni kurudi kwa kazi hii ya utafutaji, 175 00:14:00,290 --> 00:14:03,270 na tu anarudi ham katika kesi hii. 176 00:14:03,620 --> 00:14:08,080 Na ni gani kwamba kwa sababu tu tafuta kawaida inachukua kushoto wengi foleni. 177 00:14:08,080 --> 00:14:12,130 Na wote maneno ya kawaida isipokuwa wewe bayana vinginevyo kufanya hivyo. 178 00:14:12,830 --> 00:14:18,880 Kama sisi alitaka kupata yote kuna kazi ya kuwa - kupata yote. 179 00:14:18,880 --> 00:14:35,100 Hivyo kwamba inaweza tu kuangalia kama wote re.findall = ('h.m', maandishi) 180 00:14:35,100 --> 00:14:44,540 na kisha all.group (). 181 00:14:44,540 --> 00:14:51,040 Wote wawili inazalisha ham na ham; katika kesi hii wote wa masharti katika Ibrahimu ham ya kila aina. 182 00:14:51,610 --> 00:14:55,110 Hivyo kwamba ni chaguo jingine. 183 00:14:56,250 --> 00:15:06,940 >> Kubwa. Kitu kingine kukumbuka ni kwamba maneno ya kawaida kuchukua kubwa intuitively. 184 00:15:06,940 --> 00:15:09,520 Hebu tuangalie mfano huu. 185 00:15:10,200 --> 00:15:16,070 Sisi gani kwamba kushoto wengi tafuta hapa, na kisha mimi alijaribu kutafuta kubwa 186 00:15:16,070 --> 00:15:18,800 kutumia Kleene nyota operator. 187 00:15:18,800 --> 00:15:24,180 Hivyo kwa ajili ya, "Abraham Lincoln hufanya sandwiches ham," na mimi tu got nyuma 188 00:15:24,180 --> 00:15:26,280 m kama matokeo. 189 00:15:26,280 --> 00:15:31,670 sababu ya makosa kwamba ilikuwa kwamba mimi naweza wamechukua idadi yoyote ya 190 00:15:31,670 --> 00:15:36,140 h ni kwa sababu mimi si kutaja kitu chochote kwenda katika kati h na m. 191 00:15:36,140 --> 00:15:42,010 mfano tu pale kwamba alikuwa m - tu kuna mifano na m ndani yake 192 00:15:42,010 --> 00:15:46,220 na idadi yoyote ya h walikuwa tu m kamba. 193 00:15:46,490 --> 00:15:51,850 Kisha mimi walijaribu tena; nikasema, "Sawa, hebu kupata halisi kundi kubwa zaidi hapa." 194 00:15:51,850 --> 00:15:59,670 Na kisha mimi h. * M, ili tu anarudi idadi yoyote ya wahusika kati h na m. 195 00:16:00,280 --> 00:16:02,950 Na kama wewe ni mapya tu nje na kufikiri, "Oh, sawa, pamoja na hii 196 00:16:02,950 --> 00:16:11,560 kupata yangu ham, "ni kweli inachukua kila kitu kutoka h katika Abraham Lincoln 197 00:16:11,560 --> 00:16:13,690 njia yote hadi mwisho wa ham. 198 00:16:14,040 --> 00:16:18,110 Ni tamaa; anaona h - Nakala hii wengine wote - m, 199 00:16:18,110 --> 00:16:21,280 na kwamba ni nini inachukua in 200 00:16:22,060 --> 00:16:27,480 Hii ni hasa egregious - hii ni hulka tunaweza pia 201 00:16:27,480 --> 00:16:30,670 bayana kwa kuwa si kuwa na tamaa ya kutumia kazi nyingine. 202 00:16:31,480 --> 00:16:34,490 Lakini hili ni jambo tuna kukumbuka hasa 203 00:16:34,490 --> 00:16:38,720 wakati kuangalia Nakala HTML, ambayo ni sababu moja kwamba 204 00:16:38,720 --> 00:16:41,500 maneno ya kawaida ni vigumu kwa HTML. 205 00:16:42,460 --> 00:16:46,310 Kwa sababu kama una HTML tag wazi na kisha kura ya mambo katikati 206 00:16:46,310 --> 00:16:49,820 na kisha baadhi HTML nyingine imefungwa tag baadaye sana katika mpango, 207 00:16:49,820 --> 00:16:55,420 una kuliwa tu hadi mengi ya maadili yako HTML uwezekano kwa makosa. 208 00:16:56,200 --> 00:17:01,840 >> Yote ya haki - hivyo zaidi maalum wahusika, kama lugha nyingine nyingi, 209 00:17:01,840 --> 00:17:04,780 sisi kuepuka kutumia mkwaju. 210 00:17:04,780 --> 00:17:10,329 Ili tuweze kutumia dot kutaja tabia yoyote isipokuwa kwa mstari mpya. 211 00:17:10,329 --> 00:17:14,550 Tunaweza kutumia w kutoroka kutaja tabia yoyote herufi. 212 00:17:14,550 --> 00:17:20,329 Na kwa mlinganisho kutoroka d kwa yoyote integer - namba tabia. 213 00:17:20,630 --> 00:17:27,440 Tunaweza kutaja - tunaweza kutumia mabano kutaja maneno kuhusiana. 214 00:17:27,440 --> 00:17:30,970 Hivyo hii itakuwa kukubali b, au c. 215 00:17:31,320 --> 00:17:37,000 Na tunaweza pia bayana au chaguzi kwa ajili ya ama a au b. 216 00:17:37,000 --> 00:17:41,110 Kwa mfano - kama sisi walikuwa wanatafuta uwezekano nyingi 217 00:17:41,110 --> 00:17:44,940 katika mabano tunaweza kutumia operator au kama katika - 218 00:17:44,940 --> 00:17:52,480 hivyo basi sisi kurudi nyuma kwa mfano hii hapa. 219 00:17:53,000 --> 00:17:59,790 Na sasa hebu kuchukua - hebu kwenda nyuma ya mfano huu hapa, na kisha 220 00:17:59,790 --> 00:18:12,290 kuchukua ae - hivyo hii lazima kurudi - mimi nadhani hii bado ni Ibrahimu. 221 00:18:12,290 --> 00:18:17,410 Hivyo hii - kama sisi kufanya yote - kubwa. 222 00:18:17,410 --> 00:18:22,700 Hivyo basi sisi update Nakala hapa. 223 00:18:22,700 --> 00:18:34,690 "Ibrahimu anakula ham wakati hemming wake -. Wakati hemming" Kubwa. 224 00:18:44,090 --> 00:18:47,330 Wote. Kubwa. Sasa sisi kupata ham, ham, na pindo. 225 00:18:48,510 --> 00:18:59,370 Wakati hemming - wakati humming kwake - wakati humming pindo naye. Kubwa. 226 00:19:00,350 --> 00:19:03,250 Kitu kimoja. 227 00:19:03,820 --> 00:19:09,180 Sasa wote anarudi bado tu ham, ham, na pindo bila kuokota juu ya hum au naye. 228 00:19:09,940 --> 00:19:22,600 Kubwa - hivyo nini kama sisi alitaka kuangalia ama kwamba - hivyo tunaweza pia kufanya 229 00:19:23,510 --> 00:19:33,810 yeye au - sisi kuja nyuma na kwamba. 230 00:19:34,810 --> 00:19:45,760 Sawa - hivyo - haki ya wote - katika nafasi pia unaweza kutumia kareti au ishara ya dola 231 00:19:45,760 --> 00:19:49,350 bayana kwamba wewe ni kutafuta kitu mwanzo au mwisho wa kamba. 232 00:19:50,260 --> 00:19:52,260 Au mwanzo au mwisho wa neno. 233 00:19:52,400 --> 00:19:54,470 Hiyo ni njia moja ya kutumia. 234 00:19:55,630 --> 00:20:01,160 >> Sawa - hivyo basi sisi kucheza karibu na kuzuia kubwa kidogo ya maandishi. 235 00:20:03,950 --> 00:20:08,310 Hebu kusema hii mstari hapa - kauli hii hapa. 236 00:20:08,310 --> 00:20:11,360 nguvu ya kujieleza mara kwa mara ni kwamba wanaweza kutaja chati 237 00:20:11,360 --> 00:20:13,390 si tu fasta wahusika. 238 00:20:14,900 --> 00:20:18,790 Hebu kufanya - hebu piga hii block. 239 00:20:22,400 --> 00:20:27,110 Basi sisi kusoma yote ya kwamba in 240 00:20:28,890 --> 00:20:50,820 Na kisha kuwa - tufanye kila =; hivyo kile ni baadhi ya mambo tunaweza kutafuta katika hapa kwa faida? 241 00:20:50,820 --> 00:20:54,070 Tunaweza kuangalia kwa sikio kujieleza. 242 00:20:55,050 --> 00:21:01,520 Si ya kuvutia sana. Vipi kuhusu hilo? Tutaweza kuona nini kinatokea. 243 00:21:03,710 --> 00:21:05,710 Mimi akampa tatizo. 244 00:21:06,380 --> 00:21:10,750 Hivyo idadi yoyote ya mambo kabla ya re na wote. 245 00:21:10,750 --> 00:21:15,630 Hivyo kwamba wanapaswa kurudi kila kitu kuanzia mwanzo hadi wote re labda mara ya wanandoa. 246 00:21:18,800 --> 00:21:21,970 Na kisha hapa tuna nguvu ya maneno ya kawaida ni kwamba wao 247 00:21:21,970 --> 00:21:24,900 Unaweza kutaja chati si tu wahusika hapa ni. 248 00:21:24,900 --> 00:21:28,510 Hivyo njia yote hadi mwisho re, ilianza na wengi wa kushoto na alikuwa mchoyo. 249 00:21:30,710 --> 00:21:32,710 Hebu angalia - kile kingine tunaweza kuangalia. 250 00:21:32,710 --> 00:21:39,860 Mimi nadhani jambo moja kama ungekuwa nia ya kuangalia kwa Viwakilishi yeye na yeye, 251 00:21:39,860 --> 00:21:44,600 unaweza kuangalia kwa s kuwa sawa na 0 au 1 252 00:21:44,600 --> 00:21:49,710 na kujieleza yeye, na kwamba ni pengine si kwenda na kurudi - 253 00:21:49,710 --> 00:21:58,020 oh, mimi nadhani ni yeye akarudi kwa sababu kuna sisi ni kuangalia nguvu, siku hiyo, hapa ni. 254 00:22:00,590 --> 00:22:06,270 Hebu jaribu kufafanua kwamba hii ina kuja katika mwanzo wa kitu fulani. 255 00:22:06,640 --> 00:22:09,530 Hebu tuone kama kwamba matone mbali. 256 00:22:09,530 --> 00:22:19,630 Hivyo tunaweza kufanya mafuta, na kuna sisi si kupata kitu chochote kwa sababu yeye na yeye 257 00:22:19,630 --> 00:22:22,870 si kutokea katika msemo huu. 258 00:22:24,960 --> 00:22:30,410 Kubwa. Sawa - hivyo nyuma ya paka hapa. 259 00:22:30,410 --> 00:22:35,720 Hivyo tata chati ni kuumiza ubongo. 260 00:22:35,720 --> 00:22:40,500 Hivyo kwamba ni kwa nini sisi kutumia maneno ya kawaida ili kuepuka masuala haya. 261 00:22:40,820 --> 00:22:43,520 >> Hivyo hapa ni baadhi ya njia nyingine muhimu unaweza kucheza karibu na. 262 00:22:43,520 --> 00:22:50,290 Tuliangalia tafuta leo, lakini pia unaweza kutumia mechi, mgawanyiko, findall, na vikundi. 263 00:22:50,290 --> 00:22:53,970 Hivyo nyingine baridi mambo unaweza kufanya na maneno ya kawaida tu badala ya 264 00:22:53,970 --> 00:22:58,870 kuangalia kwa chati ni kuchukua muundo na kufanya mechi zote - 265 00:22:58,870 --> 00:23:02,530 vigezo wake - na kisha kwa kutumia wale walio katika kanuni yako baadaye. 266 00:23:02,850 --> 00:23:05,980 Kwamba inaweza kabisa kusaidia. Mambo mengine yanaweza kuhesabu kura. 267 00:23:05,980 --> 00:23:11,720 Hivyo tunaweza kuhesabu idadi ya matukio ya mfano mara kwa mara kujieleza, 268 00:23:11,720 --> 00:23:13,960 na kwamba ni nini tunaweza kutumia makundi kwa ajili ya. 269 00:23:13,960 --> 00:23:17,550 Na njia nyingine kama vile pia iwezekanavyo. 270 00:23:18,040 --> 00:23:22,980 Hivyo mimi tu wanataka kuzungumza kidogo zaidi kuhusu njia nyingine unaweza kutumia maneno ya kawaida. 271 00:23:22,980 --> 00:23:29,100 >> Hivyo moja ya juu zaidi katika maombi ni vinavyolingana fuzzy. 272 00:23:29,100 --> 00:23:33,450 Hivyo kama wewe ni kuangalia kwa maandishi kwa ajili ya kujieleza, Julius Caesar, 273 00:23:33,450 --> 00:23:37,740 na unaweza kuona ama Gayo Julius Kaisari au jina Julius Kaisari katika lugha nyingine, 274 00:23:37,740 --> 00:23:44,400 basi unaweza pia wanataka kuwapa baadhi ya uzito wa maadili hayo. 275 00:23:44,400 --> 00:23:48,930 Na kama ni karibu kutosha - kama misalaba kizingiti fulani - basi unataka 276 00:23:48,930 --> 00:23:50,860 kuwa na uwezo wa kukubali Julius Caesar. 277 00:23:50,860 --> 00:24:00,580 Hivyo kuna wanandoa utekelezaji mbalimbali kwa ajili ya kuwa katika lugha chache nyingine pia. 278 00:24:02,580 --> 00:24:08,420 Hapa ni baadhi ya zana nyingine, regex Pal - Handy kidogo programu online 279 00:24:08,420 --> 00:24:12,190 kuangalia kama maneno yako ya kawaida ni linajumuisha usahihi. 280 00:24:12,190 --> 00:24:18,500 Pia kuna ilio zana kwamba unaweza kukimbia kutoka desktop yako 281 00:24:18,500 --> 00:24:22,100 kama Pico Ultra, na kama vile cookbooks tu. 282 00:24:22,100 --> 00:24:25,410 Hivyo kama wewe ni kufanya mradi ambao unahusisha tani ya maneno ya kawaida 283 00:24:25,410 --> 00:24:29,810 hii pengine ni mahali pa kwenda nje ya wigo wa leo. 284 00:24:31,520 --> 00:24:35,770 Na kisha tu kukupa hisia ya jinsi ya kawaida ni 285 00:24:35,770 --> 00:24:44,090 kuna Grep katika Unix, Perl ina kujengwa katika, na C kuna PCRE kwa ajili ya C. 286 00:24:44,090 --> 00:24:48,890 Na kisha lugha haya mengine yote pia kuwa na fedha za kujieleza mara kwa mara 287 00:24:48,890 --> 00:24:52,020 kwamba kazi na syntax kimsingi huo tulipata ladha ya leo. 288 00:24:52,020 --> 00:24:54,790 PHP, Java, Ruby, na kadhalika. 289 00:24:56,080 --> 00:24:58,980 >> Kanuni ya Google Search ni kweli kutaja thamani, ni moja ya 290 00:24:58,980 --> 00:25:05,720 wachache maombi huko nje kwamba inaruhusu umma kupata 291 00:25:05,720 --> 00:25:07,800 database yake kwa kutumia maneno ya kawaida. 292 00:25:07,800 --> 00:25:12,920 Hivyo kama wewe kuangalia juu ya Google Search Kanuni unaweza kupata kanuni 293 00:25:12,920 --> 00:25:16,880 kama wewe ni kuangalia kwa mfano wa jinsi kazi inaweza kutumika, 294 00:25:16,880 --> 00:25:21,610 unaweza kutumia usemi wa mara kwa mara kujua kwamba kazi ya kutumika katika kila aina ya kesi tofauti. 295 00:25:21,610 --> 00:25:28,000 Unaweza kuangalia kwa fwrite, na kisha unaweza kuangalia kwa bendera ya kuandika au kusoma 296 00:25:28,000 --> 00:25:32,000 kama alitaka mfano wa fwrite kuwa kutumika katika kesi hiyo. 297 00:25:33,530 --> 00:25:37,010 Hivyo kitu kimoja huko, na hapa ni baadhi ya marejeo. 298 00:25:37,010 --> 00:25:40,990 Hii itakuwa inapatikana online kama vile, hivyo kwenda mbele kama 299 00:25:40,990 --> 00:25:45,560 unataka kuangalia Python, Grep, Perl - wewe tu wanataka kupata baadhi ya uongozi 300 00:25:45,560 --> 00:25:50,650 au kama unataka kuangalia zaidi katika nadharia hapa ni baadhi ya kuruka nzuri mbali maeneo. 301 00:25:50,650 --> 00:25:53,870 Asante sana. 302 00:25:58,470 --> 00:25:59,910 [CS50.TV]