【问题标题】:Is there anyway to use variable in search function of Regex?无论如何在正则表达式的搜索功能中使用变量?
【发布时间】:2021-02-18 07:31:42
【问题描述】:

我想知道是否有任何方法可以在正则表达式中使用特殊变量并将其与正则表达式代码混合? 这是一个函数,它接受类型和文件夹并搜索其中的所有文件和文件夹以查找具有该类型的所有文件。当我尝试合并它们时,错误发生在第 10 行。

def explore(extension,path):
    import os
    import re
    d = dict()
    for dirpath, dirs, files in os.walk(path):
        count = 0
        for filename in files:
            fname = os.path.join(dirpath,filename)
            fname = fname.lower()
            j = ".\"+extension+"$"
            if re.search(j,fname) != None:
                if fname.endswith(extension):
                    count+=1
                    d[dirpath]=count
    print(d)

【问题讨论】:

    标签: python python-3.x regex


    【解决方案1】:

    这里的错误是缺少一个“。当你做“时,这意味着引号只是一个字符。它不会结束你的字符串。要消除此错误,您可以通过两种方式进行:

    首先 - 在字符串之前使用 r。它将字符串中的字符视为常规字符:

            j = r".\"+extension+"$"
    

    第二 - 使用双斜杠。双斜杠将产生一个常规字符斜杠。

    j = ".\\"+extension+"$"
    

    作为补充。最好使用例如 fstrings 而不是连接字符串。试试下面的语法:)

    print(f"Hello. My name is {your_variable}!")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-09
      • 2020-10-29
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多