|
295 | 295 | "\n",
|
296 | 296 | "* Что такое `re.compile`? <br><br>\n",
|
297 | 297 | "Грубо говоря, `compile()` позволяет запомнить регулярное выражение и использовать его несколько раз. Суть в том, что перед тем как прогнать регулярку через строку, питон должен ее \"скомпилировать\" - превратить **строку** с регулярным выражением в специальный **объект**.<br>\n",
|
298 |
| - "Строчка `re.search(..., ...)` сначала компилирует регулярное выражение, а потом выполняет поиск. Если нужно поискать что-то один раз, то такая строчка очень удобна. А если нужно поискать что-то много раз, то получится что одно и то же выражение мы компилируем много раз. А хочется один раз скомпилировать и потом много раз пользоваться. Поэтому пишут так:<br><br>\n", |
299 |
| - "`text = 'тут текст, внутри которого мы что-то ищем'<br>\n", |
| 298 | + "Строчка `re.search(..., ...)` сначала компилирует регулярное выражение, а потом выполняет поиск. Если нужно поискать что-то один раз, то такая строчка очень удобна. А если нужно поискать что-то много раз, то получится что одно и то же выражение мы компилируем много раз. А хочется один раз скомпилировать и потом много раз пользоваться. Поэтому пишут так:" |
| 299 | + ] |
| 300 | + }, |
| 301 | + { |
| 302 | + "cell_type": "code", |
| 303 | + "execution_count": null, |
| 304 | + "metadata": { |
| 305 | + "collapsed": true |
| 306 | + }, |
| 307 | + "outputs": [], |
| 308 | + "source": [ |
| 309 | + "text = 'тут текст, внутри которого мы что-то ищем'<br>\n", |
300 | 310 | "regName = re.compile('тут регулярное выражение') # скомпилировали<br>\n",
|
301 | 311 | "toSearch = regName.search(text) # теперь можно искать в тексте<br>\n",
|
302 | 312 | "toFindAll = regName.findall(text) # можно использовать скомпилированное выражение много раз<br>\n",
|
303 |
| - "toSub = regName.sub('на.что.заменить', text) # и так тоже можно использовать`<br><br>\n", |
304 |
| - "\n", |
| 313 | + "toSub = regName.sub('на.что.заменить', text) # и так тоже можно использовать" |
| 314 | + ] |
| 315 | + }, |
| 316 | + { |
| 317 | + "cell_type": "markdown", |
| 318 | + "metadata": {}, |
| 319 | + "source": [ |
305 | 320 | "* Что делает `regName.sub(..., ...)`?<br><br>\n",
|
306 | 321 | "Выражение `regName.sub('на_что_заменить', text)` значит: возьми скомпилированное выражение из переменной `regName`, и замени все, что соответствует этому выражению в переменной `text`, на строку `'на_что_заменить'`. Если первый аргумент в этом случае - пустая строка, то все найденные регуляркой куски заменятся на пустую строку, короче говоря, удалятся.<br><br>\n",
|
307 | 322 | "\n",
|
|
0 commit comments