У меня корпус состоит из тысяч струн. Я хочу запустить регулярное выражение для каждой строки, чтобы найти начало и конец определенных слов, включая любые знаки препинания.
Я попытался написать RegEx, который включает в себя набор, содержащий ряд возможных начала / окончания словавключая обычные символы, такие как пробел, запятая, точка остановки и т. д. Также необходимо включить метасимволы, такие как новая строка и конец строки.
Вот пример строки и тип регулярного выражения I 'я пытался использовать:
text = "abcd aacd. abcd\n adcd"
my_re = re.compile(r'[ ^]a\wcd[ .,$]')
pat_iter = my_re.finditer(text)
for i in pat_iter:
print(i.group())
Вывод, который я хотел бы получить из этого:
abcd
aacd.
abcd
adcd
К сожалению, я не могу использовать метасимволы, такие как ^
, \n
и $
в наборе в квадратных скобках, []
.
Есть ли какой-либо способ отменить экранирование этих символов в наборе, чтобы их можно было использовать в качестве метасимволов?
Редактировать: я не хочу разделять эти слова, используя что-то вроде разбиения везде, где есть пробел, например:
text = text.split(" ")
Это должно быть с RegEx, как я описал выше.