Мне было интересно, существует ли что-либо из следующего в python:
- A: нерегулярный эквивалент "re.findall()".
- B: способ нейтрализовать специальные символы регулярных выражений в переменной перед передачей в findall().
Я передаю переменную в re.findall, которая сталкивается с проблемами, когда переменная имеет точку, косую черту, карат и т. д., потому что я хотел бы, чтобы эти символы интерпретировались буквально. Я понимаю, что для этой работы нет необходимости использовать регулярное выражение, но мне нравится поведение re.findall(), потому что оно возвращает список всех найденных совпадений. Это позволяет мне легко подсчитать, сколько раз существует подстрока, используя len().
Вот пример моего кода:
>>substring_matches = re.findall(randomVariableOfCharacters, document_to_be_searched)
>>
>>#^^ will return something like ['you', 'you', 'you']
>>#but could also return something like ['end.', 'end.', 'ends']
>>#if my variable is 'end.' because "." is a wildcard.
>>#I would rather it return ['end.', 'end.']
>>
>>occurrences_of_substring = len(substring_matches)
Я надеюсь, что мне не придется использовать string.find(), если это возможно. Любая помощь и/или совет приветствуется!