Любой способ поиска во всех файлах каталога и подкаталога с помощью регулярных выражений Python? - PullRequest
0 голосов
/ 20 января 2019

У меня есть следующее регулярное выражение Python для поиска всех конечных точек и URL-адресов в файле.

regex_str = r"""
  (?:"|')                               # Start newline delimiter
  (
    ((?:[a-zA-Z]{1,10}://|//)           # Match a scheme [a-Z]*1-10 or //
    [^"'/]{1,}\.                        # Match a domainname (any character + dot)
    [a-zA-Z]{2,}[^"']{0,})              # The domainextension and/or path
    |
    ((?:/|\.\./|\./)                    # Start with /,../,./
    [^"'><,;| *()(%%$^/\\\[\]]          # Next character can't be...
    [^"'><,;|()]{1,})                   # Rest of the characters can't be
    |
    ([a-zA-Z0-9_\-/]{1,}/               # Relative endpoint with /
    [a-zA-Z0-9_\-/]{1,}                 # Resource name
    \.(?:[a-zA-Z]{1,4}|action)          # Rest + extension (length 1-4 or action)
    (?:[\?|/][^"|']{0,}|))              # ? mark with parameters
    |
    ([a-zA-Z0-9_\-]{1,}                 # filename
    \.(?:php|asp|aspx|jsp|json|
         action|html|js|txt|xml)             # . + extension
    (?:\?[^"|']{0,}|))                  # ? mark with parameters
  )
  (?:"|')                               # End newline delimiter
"""

Я знаю только, как использовать это регулярное выражение для поиска одного файла, но я хочу использовать это регулярное выражение для поиска конечных точек и URL-адресов в каталоге, содержащем сотни файлов во многих подкаталогах.

В bash мы можем просто использовать grep -r "find_this" для поиска в каталоге, есть ли в python аналог, подобный bash, для поиска во всех файлах каталога? или вы можете помочь мне преобразовать это регулярное выражение Python в регулярное выражение Bash?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...