读取带符号(+和)的文件名

2024-05-28 18:57:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个代码,可以通过以下行扫描文件夹中的文件名:

  fileNum = re.findall(r'T([0.-999.])\.txt',inputName)

这将正确读取具有以下类型名称的文件:T12.txt、T13.3.txt。在

现在我有一些文件在文件名中也包含特殊字符+和-的文件名:T13_B+14.txt,T13_B-15.txt,T13_B0.0.txt等(唯一的变量是带符号的B factor)。为了包含+符号作为阅读的特殊字符,我将该行修改为:

^{2}$

现在可以正确读取文件名中带有+的文件。所以我要分别跑+和-。在

问:如何在文件名中包含任何字符以供阅读(如[\w+])?在


Tags: 文件代码retxt文件夹名称类型文件名
3条回答

所以您尝试匹配Tdigits格式的所有字符,然后可能匹配.txt之前的其他字符。所以把它作为正则表达式来匹配

fileNum = re.findall(r'^T\d+.+\.txt',inputName)

[0.-99.]不是你想的那样。它表示09..-9范围内的一个字符./0123456789。要匹配一个或两个数字,请使用\d{1,2}或{}。要匹配\w字符或+-字符,请使用[\w+-]。在

您当前的常规表达式将匹配每个输入字符串。你忘了遮住这些点,所以你会接受每个字符。在

要接受字符TB01、[…]、9+-_字符,需要使用以下正则表达式:

^T[\dB\._+-]+\.txt$

然而,正如在评论中指出的,Reza在这种情况下需要另一个正则表达式:

^{pr2}$

它接受所有以T13_B为前缀,后跟任何数字、点、加号和减号以及后缀.txt的文件。在

相关问题 更多 >

    热门问题