1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Seimineár: Patrún Meaitseáil le Léirithe rialta] 2 00:00:02,000 --> 00:00:04,000 [John Mussman-Ollscoil Harvard] 3 00:00:04,000 --> 00:00:07,220 [Is é seo an CS50.-CS50.TV] 4 00:00:07,780 --> 00:00:11,610 Maith go leor. Bhuel, fáilte roimh gach duine. Tá sé seo CS50 2012. 5 00:00:11,780 --> 00:00:16,610 Is é mo ainm John, agus beidh mé ag caint faoi lá atá inniu ann nathanna rialta. 6 00:00:16,610 --> 00:00:22,530 Sloinn rialta go príomha uirlis, ach freisin a úsáidtear uaireanta 7 00:00:22,530 --> 00:00:28,650 sa chód go gníomhach a mheaitseáil go bunúsach patrúin agus teaghráin. 8 00:00:28,650 --> 00:00:33,800 Mar sin, tá anseo grinn gréasáin ó XKCD. 9 00:00:34,440 --> 00:00:42,370 Sa grinn tá Mystery dúnmharú ina bhfuil an killer 10 00:00:42,370 --> 00:00:47,860 Lean duine éigin ar laethanta saoire, agus tá na protagonists a 11 00:00:47,860 --> 00:00:52,500 cuardach a dhéanamh trí 200 meigibheart de ríomhphoist lorg na sráide. 12 00:00:52,500 --> 00:00:56,090 Agus tá siad ar tí é a thabhairt suas nuair duine éigin a bhfuil aithne aige sloinn rialta - 13 00:00:56,090 --> 00:01:00,550 is dócha go crógach - swoops síos agus cuid den scríobh cód 14 00:01:00,550 --> 00:01:02,970 agus réitíonn an Mystery dúnmharú. 15 00:01:02,970 --> 00:01:07,370 Mar sin, is dócha go mbeidh a bheith rud éigin go mbeidh tú go dtabharfaí de chumhacht a dhéanamh 16 00:01:07,370 --> 00:01:09,370 tar éis an seimineár seo. 17 00:01:09,370 --> 00:01:12,250 Táimid ag dul díreach go dtí réamhrá achomair a sholáthar don teanga 18 00:01:12,250 --> 00:01:16,770 agus a thabhairt duit go leor wherewithal chun dul tar éis níos mó acmhainní ar do chuid féin. 19 00:01:17,680 --> 00:01:21,700 >> Mar sin, sloinn rialta breathnú go bunúsach mar seo. 20 00:01:22,930 --> 00:01:25,550 Is é seo an slonn ionadaíochta i Ruby. 21 00:01:25,550 --> 00:01:29,280 Níl sé terribly difriúil ar fud na teangacha. 22 00:01:29,690 --> 00:01:37,630 Tá muid díreach ar slaiseanna chun tús a chur agus marcáil an slonn ionadaíochta i Ruby. 23 00:01:37,630 --> 00:01:42,880 Agus tá sé seo le slonn ionadaíochta a lorg i r-phost patrún sráide. 24 00:01:42,880 --> 00:01:49,160 Mar sin, linn a fheiceáil ar an chéad beagán Breathnaíonn d'aon charachtar alfa-uimhriúla ar. 25 00:01:50,500 --> 00:01:54,880 Is é sin toisc go bhfuil seoltaí ríomhphoist go minic chun tús a chur le carachtar aibítre. 26 00:01:55,460 --> 00:01:59,330 Agus ansin aon charachtar speisialta an tsiombail @. 27 00:01:59,330 --> 00:02:03,260 Agus ansin an rud céanna le haghaidh ainm fearainn. 28 00:02:03,260 --> 00:02:10,030 Agus ansin idir 2 agus 4 carachtair a chuardach le haghaidh an. Com,. Glan, agus mar sin de. 29 00:02:10,850 --> 00:02:13,200 Mar sin, is é sin sampla eile de slonn ionadaíochta. 30 00:02:13,200 --> 00:02:17,270 Tá abairtí chomh rialta prótacail do patters aimsiú sa téacs. 31 00:02:17,270 --> 00:02:21,130 Déanann siad comparáidí, roghanna, agus athchur. 32 00:02:21,690 --> 00:02:27,970 Mar sin, an tríú shampla aimsiú go léir na huimhreacha teileafóin a chríochnaíonn i 54 i eolaire. 33 00:02:27,970 --> 00:02:34,360 Mar sin, sula David rips suas an CS50 eolaire d'fhéadfadh muid a chuardach le haghaidh 34 00:02:34,360 --> 00:02:40,450 patrún áit a bhfuil muid lúibíní ansin 3 líon deireadh ansin lúibíní, 35 00:02:40,450 --> 00:02:44,070 3 líon níos mó, Fleasc, 2 uimhreacha, agus ansin 54. 36 00:02:44,070 --> 00:02:48,310 Agus bheadh ​​a bheith go bunúsach conas a tháinig muid suas le slonn ionadaíochta a chuardach le haghaidh sin. 37 00:02:49,150 --> 00:02:52,960 >> Mar sin, tá - déanta againn roinnt rudaí i CS50 go bhfuil beagán cosúil le 38 00:02:52,960 --> 00:02:59,740 sloinn rialta, mar sin - mar shampla - sa chomhad dictionary.C 39 00:02:59,740 --> 00:03:04,720 don litrithe seic leagtha fhadhb a fhéadfadh a bheith agat a úsáid fscanf 40 00:03:04,720 --> 00:03:07,930 a léamh i focal as an bhfoclóir. 41 00:03:07,930 --> 00:03:16,240 Agus is féidir leat a fheiceáil go bhfuil an céatadán 45s ag lorg ar shraith de 45 carachtair. 42 00:03:16,240 --> 00:03:20,020 Mar sin, tá sé beagán cosúil le slonn rudimentary. 43 00:03:21,150 --> 00:03:26,060 Agus is féidir leat a bheith ar aon 45 carachtair a d'oirfeadh an bille i ann 44 00:03:26,060 --> 00:03:28,080 agus roghnaigh iad siúd suas. 45 00:03:28,080 --> 00:03:33,480 Agus ansin an dara sampla i an fhadhb is déanaí cláir gréasáin 46 00:03:33,480 --> 00:03:40,760 atá leagtha síos sa chód distro le haghaidh php a dhéanann muid i ndáiríre tá slonn simplí. 47 00:03:40,760 --> 00:03:46,790 Agus is é an ceann seo ag lorg ach go simplí a sheiceáil má tá an leathanach gréasáin go bhfuil ar aghaidh i 48 00:03:46,790 --> 00:03:51,940 oireann ceachtar logáil isteach nó a chlárú logála. PHP. 49 00:03:52,220 --> 00:03:57,910 Agus ansin filleadh fíor nó bréagach atá bunaithe ar an meaitseáil abairt rialta. 50 00:03:59,400 --> 00:04:01,740 >> Mar sin, nuair a úsáideann tú slonn? 51 00:04:01,740 --> 00:04:04,820 Cén fáth a bhfuil tú anseo inniu? 52 00:04:05,330 --> 00:04:08,480 Mar sin, nach bhfuil tú ag iarraidh úsáid a bhaint slonn ionadaíochta nuair a tá rud éigin go 53 00:04:08,480 --> 00:04:11,640 a dhéanann an post ar do shon fiú níos éasca. 54 00:04:11,640 --> 00:04:15,510 Mar sin, XML agus HTML bhfuil i ndáiríre go leor tricky 55 00:04:15,510 --> 00:04:18,480 a scríobh abairtí rialta le mar a fheicfimid i beagán. 56 00:04:19,110 --> 00:04:23,280 Mar sin, tá parsers tiomanta do na teangacha sin. 57 00:04:24,170 --> 00:04:30,060 Ní mór duit freisin a bheith ceart go leor leis an dícheangail trádála agus cruinneas go minic. 58 00:04:30,060 --> 00:04:36,220 Má tá tú ag iarraidh - mar sin chonaic muid slonn ionadaíochta do sheoladh ríomhphoist, 59 00:04:37,370 --> 00:04:42,590 ach a rá go raibh tú seoladh r-phoist ar leith agus de réir a chéile ar an 60 00:04:42,590 --> 00:04:48,570 D'fhéadfadh slonn ionadaíochta éirithe níos casta mar a bhí sé níos cruinne. 61 00:04:49,580 --> 00:04:52,260 Mar sin, bheadh ​​trádáil aon uaire. 62 00:04:52,260 --> 00:04:55,330 Tá tú a bheith cinnte go bhfuil tú ag déanamh ceart go leor leis an abairt rialta. 63 00:04:55,330 --> 00:04:57,920 Má tá a fhios agat go díreach cad tá tú ag lorg d'fhéadfadh sé ciall níos mó 64 00:04:57,920 --> 00:05:02,070 a chur ar an am agus scríobh parsálaí níos éifeachtaí. 65 00:05:02,070 --> 00:05:06,980 Agus ar deireadh tá ceist stairiúil leis an rialtacht 66 00:05:06,980 --> 00:05:08,940 na nathanna agus teangacha. 67 00:05:08,940 --> 00:05:12,960 Tá abairtí rialta i ndáiríre i bhfad níos cumhachtaí ná 68 00:05:12,960 --> 00:05:16,450 Deir nathanna rialta in aghaidh sa chiall fhoirmiúil. 69 00:05:17,130 --> 00:05:20,150 >> Mar sin, níl mé ag iarraidh dul i bhfad ró isteach an teoiric foirmiúil, 70 00:05:20,150 --> 00:05:24,000 ach nach bhfuil an chuid is mó teangacha táimid cód i ndáiríre rialta. 71 00:05:24,000 --> 00:05:29,110 Agus is é sin an fáth nach bhfuil nathanna rialta mheas uaireanta go léir go slán. 72 00:05:29,670 --> 00:05:33,150 Mar sin, go bunúsach tá ordlathas Chomsky do theangacha, 73 00:05:33,150 --> 00:05:38,400 agus nathanna rialta a thógáil suas ag baint úsáide as aontas, comhchaitéiniú, 74 00:05:38,400 --> 00:05:41,810 agus ar oibriú réalta Kleene go mbeidh muid a fheiceáil i gceann cúpla bomaite. 75 00:05:43,130 --> 00:05:48,860 Má tá suim agat i dteoiric tá go leor leor ar siúl ann faoi na cochall. 76 00:05:50,360 --> 00:05:55,880 >> Mar sin, stair ghairid - díreach do chomhthéacs anseo - a tháinig Leagann rialta suas 77 00:05:55,880 --> 00:05:59,580 sna 1950í, agus ansin bhí againn eagarthóirí simplí go 78 00:05:59,580 --> 00:06:03,300 ionchorpraíodh sloinn rialta - ach cuardach do teaghráin. 79 00:06:03,570 --> 00:06:09,110 Grep - atá ina uirlis-orduithe - Ba cheann de na chéad 80 00:06:09,110 --> 00:06:14,160 uirlisí an-tóir go ionchorpraithe nathanna rialta sna 1960í. 81 00:06:14,160 --> 00:06:20,560 I '80s, a tógadh Perl - Is teanga cláir a 82 00:06:20,560 --> 00:06:24,110 Ionchorpraíonn nathanna rialta an-suntasach. 83 00:06:24,550 --> 00:06:30,130 Agus ansin níos déanaí, ní mór dúinn go raibh Perl slonn ag luí 84 00:06:30,130 --> 00:06:35,870 prótacail go bunúsach i dteangacha eile a úsáid i bhfad an chomhréir chéanna. 85 00:06:36,630 --> 00:06:39,840 Ar ndóigh, bhí an imeacht is tábhachtaí i 2008 86 00:06:39,840 --> 00:06:43,040 áit a raibh an chéad Lá Náisiúnta Léirithe rialta, 87 00:06:43,040 --> 00:06:47,350 a creidim go bhfuil 1 Meitheamh más mian leat chun ceiliúradh a dhéanamh go. 88 00:06:48,430 --> 00:06:50,840 >> Arís, ach beagán níos mó teoiric anseo. 89 00:06:52,180 --> 00:06:55,320 Mar sin, tá bealaí éagsúla cúpla thógáil nathanna rialta. 90 00:06:55,950 --> 00:07:02,050 Is é ceann bhealach simplí a thógáil ar an abairt a bhfuil tú ag dul chun 91 00:07:02,050 --> 00:07:07,500 reáchtáil ar an teaghrán a léirmhíniú - go bunúsach thógáil beag mion-chlár go 92 00:07:07,500 --> 00:07:11,870 Beidh anailís píosaí de théad agus a fheiceáil, "Oh, a dhéanann an oirfeadh an abairt rialta nó nach bhfuil?" 93 00:07:12,250 --> 00:07:14,250 Agus ansin rith go. 94 00:07:14,250 --> 00:07:17,300 Mar sin, má tá tú slonn ionadaíochta an-bheag, is dócha gur seo 95 00:07:17,300 --> 00:07:19,380 an bealach is éifeachtaí chun é a dhéanamh. 96 00:07:20,090 --> 00:07:25,420 Agus ansin má tá tú - tá rogha eile a choinneáil ar athdhéanamh an 97 00:07:25,420 --> 00:07:30,260 léiriú mar a théann tú, agus go bhfuil an fhéidearthacht insamhail. 98 00:07:30,440 --> 00:07:37,690 Agus bhí na iarrachtaí go luath ag halgartaim slonn ionadaíochta 99 00:07:37,690 --> 00:07:44,330 réasúnta simplí agus cuibheasach tapa, ach ní raibh a lán de solúbthacht. 100 00:07:44,330 --> 00:07:47,500 Mar sin, a dhéanamh fiú roinnt de na rudaí a bhfuil muid ag dul chun breathnú ar 101 00:07:47,500 --> 00:07:52,860 lá atá inniu ann ní mór dúinn a bhí le déanamh slonn níos casta 102 00:07:52,860 --> 00:07:56,650 implementations a d'fhéadfadh i bhfad níos moille; ionas go bhfuil rud éigin le meabhrú orthu 103 00:07:57,510 --> 00:08:02,920 Tá a shéanadh sloinn rialta éagsúlacht ionsaí ann freisin 104 00:08:02,920 --> 00:08:08,330 a bhaint as an acmhainneacht le haghaidh na implementations níos nuaí de 105 00:08:08,330 --> 00:08:10,930 nathanna rialta a bheith an-chasta. 106 00:08:11,570 --> 00:08:15,650 Agus i bhfad an chiall chéanna a chonaic muid i ionsaithe thar maoil maolán, 107 00:08:15,650 --> 00:08:21,610 tá tú ionsaithe go n-oibríonn trí lúba recursive go 108 00:08:21,610 --> 00:08:24,400 overrun an cumas cuimhne. 109 00:08:24,780 --> 00:08:29,540 Agus ag an mbealach seo is Regexen ar cheann de na iolra oifigiúla an slonn ionadaíochta 110 00:08:29,540 --> 00:08:32,890 de réir analaí le damh san Angla-Shacsanach. 111 00:08:33,500 --> 00:08:40,169 >> Maith go leor, mar sin tá go leor de tú anseo i duine an Leabharlann Python Macs, 112 00:08:40,169 --> 00:08:43,860 ionas gur féidir leat a tharraingt iarbhír seo suas ar do scáileán. 113 00:08:43,860 --> 00:08:47,480 Nathanna rialta a tógadh i Python. 114 00:08:48,070 --> 00:08:53,020 Agus mar sin tá Python preloaded ar Macs agus freisin ar fáil ar líne ag an nasc seo. 115 00:08:53,770 --> 00:08:57,350 Mar sin, má tá tú ag breathnú is féidir leat sos agus a dhéanamh cinnte go bhfuil tú Python 116 00:08:58,080 --> 00:09:00,170 mar a imríonn muid thart anseo. 117 00:09:00,780 --> 00:09:06,420 Tá líne láimhe, mar sin má tá tú ach cineál Python isteach i do ríomhaire 118 00:09:06,420 --> 00:09:10,500 feicfidh tú go dtagann an leagan suas i gcríochfort. 119 00:09:11,070 --> 00:09:17,720 Mar sin, chuir mé nasc chuig an lámhleabhar do Leagan 2 de Python chomh maith le bileog cheat. 120 00:09:17,720 --> 00:09:23,100 Tá Leagan 3 de Python, ach ní do Mac gá 121 00:09:23,100 --> 00:09:25,130 teacht leis preloaded. 122 00:09:25,130 --> 00:09:27,360 Mar sin, ní éagsúla i terribly. 123 00:09:27,360 --> 00:09:33,270 Maith go leor, mar sin de roinnt Basics de ag baint úsáide as nathanna rialta i Python. 124 00:09:34,080 --> 00:09:42,650 >> Mar sin anseo a úsáid mé a léiriú an-simplí, mar sin rinne mé Python allmhairiú ath 125 00:09:43,750 --> 00:09:47,070 agus ansin ghlac an toradh re.search. 126 00:09:47,070 --> 00:09:49,910 Agus tógann an chuardaigh 2 argóintí. 127 00:09:49,910 --> 00:09:56,040 Is é an chéad an abairt rialta, agus is é an dara an téacs 128 00:09:56,040 --> 00:09:58,290 nó téad ba mhaith leat chun anailís a dhéanamh. 129 00:09:58,290 --> 00:10:01,210 Agus ansin clóite mé amach an result.group. 130 00:10:01,580 --> 00:10:05,860 Mar sin, is iad seo na feidhmeanna bunúsacha 2 táimid ag dul a fheiceáil sa lá atá inniu 131 00:10:06,790 --> 00:10:10,170 i foghlaim faoi nathanna rialta. 132 00:10:10,170 --> 00:10:12,880 Mar sin, ach briseadh síos an slonn anseo 133 00:10:12,880 --> 00:10:21,770 h agus ansin \ w agus ansin m mar sin glacann \ w ach aon charachtar aibítreach ann. 134 00:10:21,850 --> 00:10:26,820 Mar sin anseo táimid ag lorg "h" agus ansin carachtar aibítreach eile 135 00:10:26,820 --> 00:10:30,060 agus ansin m, mar sin anseo go mbeadh comhoiriúnach liamhás 136 00:10:30,060 --> 00:10:34,480 i, "Abraham Lincoln agus liamhás ceapairí." 137 00:10:35,040 --> 00:10:37,150 Is é seo an toradh an ghrúpa sin. 138 00:10:37,680 --> 00:10:43,130 Tá rud eile gur féidir linn a dhéanamh úsáid a bhaint as ár n-teaghráin roimh an téacs i Python. 139 00:10:43,130 --> 00:10:46,220 Mar sin, buille faoi thuairim agam go mbeidh mé ag dul ar aghaidh agus a tharraingt suas anseo. 140 00:10:46,220 --> 00:10:49,210 Python allmhairiú ath. 141 00:10:50,070 --> 00:10:54,000 Agus má bhí mé a dhéanamh ar an rud céanna - in iúl dúinn a rá go bhfuil téacs, 142 00:10:55,390 --> 00:11:00,800 "Abraham," in iúl dúinn zúmáil isteach - ann a théann muid. 143 00:11:01,610 --> 00:11:06,430 Tá an téacs, "eats Abraham liamhás." 144 00:11:07,460 --> 00:11:15,260 Maith go leor, agus ansin mar thoradh = re.search. 145 00:11:16,260 --> 00:11:22,020 Agus ansin is féidir ár léiriú a h, agus ansin beidh mé a dhéanamh ponc m. 146 00:11:22,020 --> 00:11:26,280 Mar sin, a thógann ponc ach aon charachtar nach bhfuil líne nua a n-áirítear uimhreacha, 147 00:11:26,280 --> 00:11:28,650 comharthaí céatadáin, aon rud mar sin. 148 00:11:28,650 --> 00:11:38,030 Agus ansin téacs - borradh - agus ansin result.group--yera yeah. 149 00:11:38,030 --> 00:11:41,820 Mar sin, tá go díreach conas a chur i bhfeidhm feidhmiúlacht bhunúsach anseo. 150 00:11:42,300 --> 00:11:55,110 Má bhí againn fáinne téacs go - go téacs dÚsachtach - bhí rá go leor de na slaiseanna ar ais 151 00:11:55,110 --> 00:12:01,180 agus teaghráin taobh istigh agus rudaí a d'fhéadfadh cuma mhaith seichimh éalúcháin, 152 00:12:01,180 --> 00:12:08,480 ansin ba mhaith linn is dócha a bhaint as an ionchur téacs amh a dhéanamh cinnte go bhfuil glacadh leo. 153 00:12:08,480 --> 00:12:14,120 Agus go Breathnaíonn díreach mar sin. 154 00:12:14,120 --> 00:12:17,810 Mar sin, má bhí á lorg againn do gach duine acu in ann nár cheart dúinn rud ar bith. 155 00:12:19,070 --> 00:12:21,680 Ach is é sin conas a bheadh ​​leat a chur chun feidhme; díreach roimh an teaghrán na 156 00:12:21,680 --> 00:12:24,990 an slonn ionadaíochta a chuir tú an r litir. 157 00:12:26,150 --> 00:12:30,260 >> Maith go leor, mar sin in iúl dúinn a choinneáil ag dul. 158 00:12:30,260 --> 00:12:33,730 Gach ceart - sin a ligean dúinn breathnú ar phatrúin athchleachtach cúpla anseo. 159 00:12:34,750 --> 00:12:39,150 Mar sin, tá rud amháin gur mhaith leat a dhéanamh rudaí a dhéanamh arís 160 00:12:40,040 --> 00:12:42,480 mar atá tú ag cuardach trí téacs. 161 00:12:42,480 --> 00:12:48,300 Mar sin, a dhéanamh le leanúint ag aon líon na b - a dhéanann tú ab *. 162 00:12:48,630 --> 00:12:51,620 Agus ansin tá sraith de rialacha eile freisin. 163 00:12:51,620 --> 00:12:54,380 Agus is féidir leat breathnú ar gach ceann de na bun; beidh mé reáchtáil díreach trí roinnt de na 164 00:12:54,380 --> 00:12:57,630 is coitianta cinn a úsáidtear. 165 00:12:57,630 --> 00:13:03,920 Mar sin ab + a leanúint ag aon N mó ná 0 ar b. 166 00:13:04,510 --> 00:13:08,000 ab? Is le leanúint ag 0 nó 1 de b. 167 00:13:09,190 --> 00:13:18,580 ab {} Is N dhiaidh N an b, agus ansin mar sin de. 168 00:13:18,580 --> 00:13:22,820 Má tá tú 2 líon na braces gcuach bhfuil tú a shonrú raon 169 00:13:23,300 --> 00:13:25,440 is féidir a bheith, b'fhéidir, a mheaitseáil. 170 00:13:26,390 --> 00:13:30,420 Mar sin, beidh muid ag breathnú níos mó ar phatrúin athchleachtach lánúin i nóiméid. 171 00:13:31,960 --> 00:13:42,300 Mar sin, 2 rudaí a choinneáil i gcuimhne nuair a úsáid uirlisí meaitseáil anseo na patrún. 172 00:13:42,300 --> 00:13:52,120 Mar sin, a rá ba mhaith linn chun breathnú ar an hm ar, "a dhéanann Abraham Lincoln ceapairí liamhás." 173 00:13:52,120 --> 00:13:55,230 Mar sin, d'athraigh mé ainm Abraham Lincoln ar do Abraham. 174 00:13:55,230 --> 00:14:00,290 Agus anois táimid ag lorg cad atá ar ais ag an fheidhm cuardaigh, 175 00:14:00,290 --> 00:14:03,270 agus filleann sé ach liamhás sa chás seo. 176 00:14:03,620 --> 00:14:08,080 Agus a dhéanann sé go toisc cuardaigh dtarlaíonn ach nádúrtha an scuaine chlé chuid is mó. 177 00:14:08,080 --> 00:14:12,130 Agus beidh gach nathanna rialta mura bhfuil tú a shonrú a mhalairt a dhéanamh. 178 00:14:12,830 --> 00:14:18,880 Má bhíomar ag iarraidh a fháil ar fad go mbeadh feidhm don - teacht ar gach. 179 00:14:18,880 --> 00:14:35,100 Mar sin, d'fhéadfadh go breathnú díreach cosúil le gach re.findall = ('h.m', téacs) 180 00:14:35,100 --> 00:14:44,540 agus ansin all.group (). 181 00:14:44,540 --> 00:14:51,040 Gach Táirgeann araon liamhás agus liamhás; sa chás seo dá cheann de na teaghráin i Abraham gach liamhás. 182 00:14:51,610 --> 00:14:55,110 Mar sin, tá an rogha eile. 183 00:14:56,250 --> 00:15:06,940 >> Breataine. Is é an rud eile a choinneáil i gcuimhne go bhfuil a chur ar abairtí rialta an ceann is mó intuitively. 184 00:15:06,940 --> 00:15:09,520 Lig dúinn breathnú ar sampla seo. 185 00:15:10,200 --> 00:15:16,070 Rinne muid go bhfuil an chuid is mó cuardach chlé anseo, agus ansin iarracht mé cuardach níos mó 186 00:15:16,070 --> 00:15:18,800 ag baint úsáide as an t-oibreoir réalta Kleene. 187 00:15:18,800 --> 00:15:24,180 Mar sin, do, "a dhéanann Abraham Lincoln ceapairí liamhás," agus fuair mé ach amháin ar ais 188 00:15:24,180 --> 00:15:26,280 m mar thoradh air. 189 00:15:26,280 --> 00:15:31,670 An chúis go bhfuil botún a bhí go raibh mé in ann a bheith déanta ar aon líon na n- 190 00:15:31,670 --> 00:15:36,140 h toisc nach raibh mé a shonrú chun aon ní a théann i idir h agus m. 191 00:15:36,140 --> 00:15:42,010 An sampla amháin ann go raibh m - na samplaí amháin ann le m ann 192 00:15:42,010 --> 00:15:46,220 agus líon ar bith de h ar a bhí díreach ar an m teaghrán. 193 00:15:46,490 --> 00:15:51,850 Ansin rinne mé é arís; a dúirt mé, "Maith go leor, a ligean dúinn a fháil ar an grúpa is mó iarbhír anseo." 194 00:15:51,850 --> 00:15:59,670 Agus ansin rinne mé u. * M, ionas go bhfilleann ach líon ar bith de charachtair idir h agus m. 195 00:16:00,280 --> 00:16:02,950 Agus má tá tú díreach ag tosú amach agus ag smaoineamh, "Oh, maith go leor, go maith seo 196 00:16:02,950 --> 00:16:11,560 fháil dom liamhás, "a thógann sé i ndáiríre gach rud ó na h i Abraham Lincoln 197 00:16:11,560 --> 00:16:13,690 léir ar an mbealach suas go dtí deireadh na liamhás. 198 00:16:14,040 --> 00:16:18,110 Tá sé greedy; Feiceann sé h - seo go léir téacs eile - m, 199 00:16:18,110 --> 00:16:21,280 agus go bhfuil cad a thógann sé isteach 200 00:16:22,060 --> 00:16:27,480 Is é seo an egregious go háirithe - tá sé seo ina ghné is féidir linn freisin 201 00:16:27,480 --> 00:16:30,670 shonrú nach chun é a greedy ag baint úsáide as feidhmeanna eile. 202 00:16:31,480 --> 00:16:34,490 Ach is rud é seo ní mór dúinn a choinneáil i gcuimhne go háirithe 203 00:16:34,490 --> 00:16:38,720 nuair a fhéachann ar an téacs HTML, atá ina cúis amháin go 204 00:16:38,720 --> 00:16:41,500 Tá abairtí rialta deacair do HTML. 205 00:16:42,460 --> 00:16:46,310 Toisc má tá tú tag oscailte HTML agus ansin go leor de na rudaí i lár 206 00:16:46,310 --> 00:16:49,820 agus ansin dhún roinnt HTML tag eile i bhfad níos déanaí sa chlár, 207 00:16:49,820 --> 00:16:55,420 tú ag ithe suas díreach a lán de do chód HTML b'fhéidir, trí dhearmad. 208 00:16:56,200 --> 00:17:01,840 >> Gach ceart - carachtair sin níos speisialta, cosúil le go leor teangacha eile, 209 00:17:01,840 --> 00:17:04,780 éalú muid ag baint úsáide as an Slais. 210 00:17:04,780 --> 00:17:10,329 Mar sin, is féidir linn a bhaint as an ponc a sonrófar ann aon charachtar amháin le haghaidh líne nua. 211 00:17:10,329 --> 00:17:14,550 Is féidir linn a bhaint as an éalú w chun sonrófar ann aon charachtar aibítre. 212 00:17:14,550 --> 00:17:20,329 Agus de réir analaí d éalú d'aon slánuimhir - carachtar uimhriúla. 213 00:17:20,630 --> 00:17:27,440 Is féidir linn a shonrú - is féidir linn úsáid a bhaint as lúibíní chun sloinn gaolmhar a shonrú. 214 00:17:27,440 --> 00:17:30,970 Mar sin, bheadh ​​sé seo glacadh le a, b, nó c. 215 00:17:31,320 --> 00:17:37,000 Agus is féidir linn a shonrú freisin nó roghanna le haghaidh ceachtar nó b. 216 00:17:37,000 --> 00:17:41,110 Mar shampla - má bhí á lorg againn le haghaidh féidearthachtaí il 217 00:17:41,110 --> 00:17:44,940 i lúibíní féidir linn a úsáid an t-oibreoir nó mar atá i - 218 00:17:44,940 --> 00:17:52,480 mar sin in iúl dúinn dul ar ais chuig an sampla seo anseo. 219 00:17:53,000 --> 00:17:59,790 Agus anois in iúl dúinn - in iúl dúinn dul ar ais chuig an sampla seo anseo, agus ansin 220 00:17:59,790 --> 00:18:12,290 ghlacadh r - mar sin ba chóir é seo ar ais - buille faoi thuairim mé tá sé seo fós Abraham. 221 00:18:12,290 --> 00:18:17,410 Mar sin, seo - má dhéanann muid ar fad - go hiontach. 222 00:18:17,410 --> 00:18:22,700 Mar sin in iúl dúinn an téacs a nuashonrú anseo. 223 00:18:22,700 --> 00:18:34,690 "Itheann Abraham liamhás agus hemming a -. Agus hemming" Breataine. 224 00:18:44,090 --> 00:18:47,330 Gach. Breataine. Anois, a fháil againn liamhás, liamhás, agus ansiúd. 225 00:18:48,510 --> 00:18:59,370 Cé hemming - agus portaireacht dó - agus portaireacht le ansiúd air. Breataine. 226 00:19:00,350 --> 00:19:03,250 Rud céanna. 227 00:19:03,820 --> 00:19:09,180 Anois go léir ar ais go fóill ach liamhás, liamhás, agus ansiúd gan piocadh suas ar an hum nó an dó. 228 00:19:09,940 --> 00:19:22,600 Breataine - mar sin cad má bhíomar ag iarraidh chun breathnú ar cheachtar go - mar sin d'fhéadfadh muid a dhéanamh freisin 229 00:19:23,510 --> 00:19:33,810 dó nó - beidh muid ag teacht ar ais go dtí. 230 00:19:34,810 --> 00:19:45,760 Maith go leor - mar sin - ceart go léir - i bpoist is féidir leat úsáid a bhaint freisin an caret nó an comhartha Dollar 231 00:19:45,760 --> 00:19:49,350 a shonrú go bhfuil tú ag lorg rud éigin ag tús nó ag deireadh an teaghrán. 232 00:19:50,260 --> 00:19:52,260 Nó an tús nó ag deireadh focal. 233 00:19:52,400 --> 00:19:54,470 Is é sin an bealach amháin chun sin a úsáid. 234 00:19:55,630 --> 00:20:01,160 >> Maith go leor - mar sin in iúl dúinn imirt ar fud le bloc beagán níos mó de téacs. 235 00:20:03,950 --> 00:20:08,310 Lig dúinn a rá seo as a chéile anseo - an ráiteas anseo. 236 00:20:08,310 --> 00:20:11,360 Tá an cumhacht ag an slonn ionadaíochta gur féidir leo patrúin shonrú 237 00:20:11,360 --> 00:20:13,390 ní hamháin socraithe carachtair. 238 00:20:14,900 --> 00:20:18,790 Lig dúinn a dhéanamh - in iúl dúinn glaoch ar an bloc. 239 00:20:22,400 --> 00:20:27,110 Ansin, beidh muid ag léamh gach ceann de sin isteach 240 00:20:28,890 --> 00:20:50,820 Agus ansin tá - lig dúinn a dhéanamh go léir =; mar sin cad tá roinnt rudaí a d'fhéadfadh muid a cuardach a dhéanamh i anseo brabúsach? 241 00:20:50,820 --> 00:20:54,070 D'fhéadfadh muid breathnú ar an chluas in iúl. 242 00:20:55,050 --> 00:21:01,520 Nach bhfuil an-suimiúil. Conas is faoi sin? Beidh orainn a fheiceáil cad a tharlaíonn. 243 00:21:03,710 --> 00:21:05,710 Thug mé sé ina fhadhb. 244 00:21:06,380 --> 00:21:10,750 Mar sin, aon líon na rudaí roimh ath agus go léir. 245 00:21:10,750 --> 00:21:15,630 Mar sin, ba chóir a thabhairt ar ais gach rud ó thús suas go dtí gach re b'fhéidir cúpla uair. 246 00:21:18,800 --> 00:21:21,970 Agus ansin ní mór dúinn anseo go bhfuil an chumhacht de shloinn go bhfuil siad 247 00:21:21,970 --> 00:21:24,900 Is féidir le patrúin a shonrú go bhfuil ní hamháin carachtair anseo. 248 00:21:24,900 --> 00:21:28,510 Mar sin, go léir ar an mbealach suas go dtí an ath deiridh, thosaigh sé leis an chuid is mó ar chlé agus bhí greedy. 249 00:21:30,710 --> 00:21:32,710 Lig dúinn a fheiceáil - cad eile a d'fhéadfadh muid ag breathnú. 250 00:21:32,710 --> 00:21:39,860 Buille faoi thuairim mé rud amháin má bhí suim acu i lorg na forainmneacha tú í agus sé, 251 00:21:39,860 --> 00:21:44,600 d'fhéadfaí tú a sheiceáil le haghaidh s á cothrom le 0 nó 1 252 00:21:44,600 --> 00:21:49,710 agus an abairt aige, agus nach dócha go bhfuil ag dul a thabhairt ar ais - 253 00:21:49,710 --> 00:21:58,020 OH, buille faoi thuairim mé d'fhill sé sé toisc go bhfuil muid ag féachaint ar an chumhacht, an lá sin, anseo tá. 254 00:22:00,590 --> 00:22:06,270 Lig dúinn iarracht a shonrú go bhfuil sé seo le teacht ag tús rud éigin. 255 00:22:06,640 --> 00:22:09,530 Lig dúinn a fheiceáil má titeann go amach. 256 00:22:09,530 --> 00:22:19,630 Mar sin, is féidir linn a dhéanamh saill, agus ansin nach bhfuil muid rud ar bith a fháil mar gheall sí agus tá sé 257 00:22:19,630 --> 00:22:22,870 Ní tharlaíonn sa fhrása seo. 258 00:22:24,960 --> 00:22:30,410 Breataine. Maith go leor - mar sin ar ais go dtí an cat anseo. 259 00:22:30,410 --> 00:22:35,720 Mar sin, patrúin casta hurting an inchinn. 260 00:22:35,720 --> 00:22:40,500 Mar sin, is é sin an fáth a úsáid againn nathanna rialta a sheachaint ar na saincheisteanna seo. 261 00:22:40,820 --> 00:22:43,520 >> Mar sin, tá anseo roinnt modhanna úsáideacha eile, is féidir leat imirt ar fud leis. 262 00:22:43,520 --> 00:22:50,290 D'fhéach muid ag cuardach inniu, ach is féidir leat é a úsáid freisin cluiche, scoilt, findall, agus grúpaí. 263 00:22:50,290 --> 00:22:53,970 Rudaí fionnuar Mar sin, eile, is féidir leat a dhéanamh le nathanna rialta sa bhreis díreach 264 00:22:53,970 --> 00:22:58,870 ag lorg patrúin ag glacadh patrún agus go bhfuil na cluichí ar fad - 265 00:22:58,870 --> 00:23:02,530 cuid athróg - agus ansin ag baint úsáide as iad siúd i do chód níos déanaí. 266 00:23:02,850 --> 00:23:05,980 Is féidir sin a bheith cabhrach go leor. D'fhéadfadh rudaí eile a chomhaireamh. 267 00:23:05,980 --> 00:23:11,720 Mar sin, is féidir linn a chomhaireamh ar líon na gcásanna de phatrún slonn ionadaíochta, 268 00:23:11,720 --> 00:23:13,960 agus go bhfuil an méid is féidir linn a úsáid le grúpaí as. 269 00:23:13,960 --> 00:23:17,550 Agus tá modhanna eile chomh maith freisin is féidir. 270 00:23:18,040 --> 00:23:22,980 Mar sin, ba mhaith liom ach a labhairt le beagán níos mó faoi bhealaí eile, is féidir leat é a úsáid nathanna rialta. 271 00:23:22,980 --> 00:23:29,100 >> Mar sin, tá iarratas chun cinn níos mó i amháin meaitseáil fuzzy. 272 00:23:29,100 --> 00:23:33,450 Mar sin, má tá tú ag lorg téacs ar an abairt, Julius Caesar, 273 00:23:33,450 --> 00:23:37,740 agus a fheiceann tú ceachtar Gaius Julius Caesar nó an t-ainm Julius Caesar i dteangacha eile, 274 00:23:37,740 --> 00:23:44,400 ansin b'fhéidir gur mhaith leat freisin roinnt meáchan a shannadh do na luachanna. 275 00:23:44,400 --> 00:23:48,930 Agus má tá sé gar go leor - má thrasnaíonn sé tairseach áirithe - ansin ba mhaith leat 276 00:23:48,930 --> 00:23:50,860 a bheith in ann glacadh le Julius Caesar. 277 00:23:50,860 --> 00:24:00,580 Mar sin, tá cúpla implementations éagsúla chun gur i cúpla teangacha eile chomh maith. 278 00:24:02,580 --> 00:24:08,420 Seo a leanas roinnt uirlisí eile, Regex Pal - app handy beag ar líne a 279 00:24:08,420 --> 00:24:12,190 seiceáil má tá do abairtí rialta atá comhdhéanta i gceart. 280 00:24:12,190 --> 00:24:18,500 Tá uirlisí standalone gur féidir leat a rith ó do dheasc 281 00:24:18,500 --> 00:24:22,100 cosúil le Pico Ultra, agus chomh maith le cookbooks díreach. 282 00:24:22,100 --> 00:24:25,410 Mar sin, má tá tú ag déanamh tionscadal a mbíonn i gceist a ton de shloinn 283 00:24:25,410 --> 00:24:29,810 is dócha gur seo an áit a théann lasmuigh de scóip an lá atá inniu ann. 284 00:24:31,520 --> 00:24:35,770 Agus ansin díreach a thabhairt duit tuiscint ar cé chomh coitianta go bhfuil sé 285 00:24:35,770 --> 00:24:44,090 tá grep Unix i, tá Perl tógtha-i, agus C tá PCRE do C. 286 00:24:44,090 --> 00:24:48,890 Agus ansin go léir na teangacha eile freisin pacáistí slonn ionadaíochta 287 00:24:48,890 --> 00:24:52,020 go n-oibríonn leis an error bunúsach chéanna a bhfuair muid a bhfuil blas an lá atá inniu ann. 288 00:24:52,020 --> 00:24:54,790 PHP, Java, Ruby, agus mar sin de. 289 00:24:56,080 --> 00:24:58,980 >> Is Google Code Search iarbhír fiú a lua; tá sé ar cheann de na 290 00:24:58,980 --> 00:25:05,720 réasúnta iarratais beag amach ann a chuireann ar chumas an phobail teacht ar 291 00:25:05,720 --> 00:25:07,800 a bhunachar sonraí ag baint úsáide as nathanna rialta. 292 00:25:07,800 --> 00:25:12,920 Mar sin, má fhéachann tú ar Google Code Search féidir leat teacht cód 293 00:25:12,920 --> 00:25:16,880 má tá tú ag lorg le haghaidh shampla de conas a d'fhéadfadh feidhm a úsáid, 294 00:25:16,880 --> 00:25:21,610 Is féidir leat é a úsáid slonn ionadaíochta a shuíomh nach bhfuil feidhm á n-úsáid i ngach cineál na gcásanna éagsúla. 295 00:25:21,610 --> 00:25:28,000 D'fhéadfá breathnú ar fwrite, agus ansin d'fhéadfaí tú a chuardach le haghaidh an bhratach scríobh nó léamh 296 00:25:28,000 --> 00:25:32,000 má raibh tú sampla de fwrite á n-úsáid sa chás sin. 297 00:25:33,530 --> 00:25:37,010 Is iad sin, an rud céanna ann, agus anseo tá roinnt tagairtí. 298 00:25:37,010 --> 00:25:40,990 Beidh sé ar fáil ar líne chomh maith, mar sin ag dul ar aghaidh má 299 00:25:40,990 --> 00:25:45,560 ba mhaith leat chun breathnú ar Python, grep, Perl - ba mhaith leat ach a fháil ar roinnt inspioráid 300 00:25:45,560 --> 00:25:50,650 nó más mian leat chun breathnú níos mó ar an teoiric anseo tá roinnt léim maith as áiteanna. 301 00:25:50,650 --> 00:25:53,870 Go raibh míle maith agat go mór. 302 00:25:58,470 --> 00:25:59,910 [CS50.TV]