Я хочу написать регулярное выражение для сопоставления со всеми подстроками заданной входной строки. Я пробовал следующее:
def sub_string(str):
n = len(str)
# For holding all the formed substrings
output = "\\b("
# This loop maintains the starting character
for i in range(0, n):
# This loop will add a character to start character one by one till the end is reached
for j in range(i, n):
output += str[i:(j + 1)] + "|"
return output + "\\b)"
Тем не менее, оно соответствует неверным словам. Например, если я ввожу "h", это соответствует. В чем может быть проблема? И есть ли другой подход, который я мог бы использовать?
Заранее спасибо!