Python Объединение f-строки с r-строкой и фигурных скобок в регулярном выражении - PullRequest
0 голосов
/ 06 мая 2020

Учитывая одно слово (x); вернуть возможные n-граммы, которые можно найти в этом слове. Вы можете изменить значение n-граммов по своему усмотрению; он находится в фигурных скобках в переменной pat. Значение n-граммов по умолчанию - 4.

Например; для слова (x): x = 'abcdef' Возможные 4-граммы:

['abcd', 'bcde', 'cdef']

def ngram_finder(x):
    pat = r'(?=(\S{4}))'
    xx = re.findall(pat, x)
    return xx

Вопрос: как объединить f-строку с r-строка в выражении регулярного выражения с использованием фигурных скобок.

1 Ответ

1 голос
/ 06 мая 2020

Вы можете использовать эту строку для объединения значения n в ваше регулярное выражение, используя двойные фигурные скобки для создания единственной в выводе:

fr'(?=(\S{{{n}}}))'

Полный код:

import re

def ngram_finder(x, n):
    pat = fr'(?=(\S{{{n}}}))'
    return re.findall(pat, x)

x = 'abcdef'
print(ngram_finder(x, 4))
print(ngram_finder(x, 5))

Вывод:

['abcd', 'bcde', 'cdef']
['abcde', 'bcdef']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...