Python中的RegExp

non*_*ive 0 python regex

这是一个在当前目录中搜索PDF文件的示例.

import os, os.path
import re

def print_pdf (arg, dir, files):
 for file in files:
  path = os.path.join(dir, file)
  path = os.path.normcase(path)
  if re.search(r".*\.pdf", path):
   print path

os.path.walk('.', print_pdf, 0)
Run Code Online (Sandbox Code Playgroud)

谁能解释一下r".*\.pdf"这里有什么意思?

为什么".*\"

谢谢!

Sil*_*ost 8

它表示任何字符零次或多次,后跟字面点和字母pdf(由于星号的贪婪性质,它基本上保证'.pdf'将在主题字符串的末尾).

glob正确的模块可以做到这一点:

>>> glob.glob(os.path.join(dirname, '*.pdf'))
Run Code Online (Sandbox Code Playgroud)