Расширенная токенизация с regex

Введение в обработку естественного языка на Python

Katharine Jarmul

Founder, kjamistan

Группы в regex с оператором "|"

  • Оператор ИЛИ обозначается символом |
  • Группа задаётся с помощью ()
  • Диапазоны символов задаются с помощью []
import re 
 match_digits_and_words = ('(\d+|\w+)')

re.findall(match_digits_and_words, 'He has 11 cats.')
['He', 'has', '11', 'cats']
Введение в обработку естественного языка на Python

Диапазоны и группы в regex

pattern matches example
[A-Za-z]+ заглавные и строчные буквы латиницы 'ABCDEFghijk'
[0-9] цифры от 0 до 9 9
[A-Za-z\-\.]+ заглавные и строчные буквы латиницы, - и . 'My-Website.com'
(a-z) a, - и z 'a-z'
(\s+l,) пробелы или запятая ', '
Введение в обработку естественного языка на Python

Диапазон символов с `re.match()`

import re 
my_str = 'match lowercase spaces nums like 12, but no commas'
re.match('[a-z0-9 ]+', my_str)
<_sre.SRE_Match object; 
          span=(0, 42), match='match lowercase spaces nums like 12'>
Введение в обработку естественного языка на Python

Давайте потренируемся!

Введение в обработку естественного языка на Python

Preparing Video For Download...