регулярное выражение составляют 3 группы: 1-е слово, последнее слово и остаток предложения - PullRequest
1 голос
/ 06 ноября 2019

Например, у меня есть предложение

(«Regex действительно сбивает с толку»)

, где предложение начинается и заканчивается кавычкой. Как мне записать следующее?

(Regex), (действительно) и (сбивает с толку)

В настоящее время у меня есть следующий шаблон регулярных выражений

-r'\"(\S+) (\S+)\s*(\S*)\"'

все, что он делает, это производит: (Regex), (действительно сбивает с толку) и ().

В случае, если это связано с другой настройкой регулярного выражения, я использую модуль re в python, вызывающий re. поиск (). группа (число)

1 Ответ

1 голос
/ 06 ноября 2019

Проблема в том, чтобы определить, что такое слово.

Например, вы можете использовать

^(\w+).+?(\b\w+)$

Что будет соответствовать

Regex is really confusing

Но это не будет учитывать точку в конце.


Другой вариант - использовать
^(\S+).+?(\b\S+)$

, который будет работать даже с точкой.


В целом вам может потребоваться nltk вместо:
from nltk import word_tokenize

sentence = "Regex is really confusing."
tokens = word_tokenize(sentence)

print(tokens)
# ["Regex", "is", "really", "confusing", "."]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...