Regular expression to match start of filename and filename extension

后端 未结 8 881
离开以前
离开以前 2020-12-08 15:35

What is the regular expression to match strings (in this case, file names) that start with \'Run\' and have a filename extension of \'.py\'?

The regular expression s

8条回答
  •  长情又很酷
    2020-12-08 16:18

    For a regular expression, you would use:

    re.match(r'Run.*\.py$')
    

    A quick explanation:

    • . means match any character.
    • * means match any repetition of the previous character (hence .* means any sequence of chars)
    • \ is an escape to escape the explicit dot
    • $ indicates "end of the string", so we don't match "Run_foo.py.txt"

    However, for this task, you're probably better off using simple string methods. ie.

    filename.startswith("Run") and filename.endswith(".py")
    

    Note: if you want case insensitivity (ie. matching "run.PY" as well as "Run.py", use the re.I option to the regular expression, or convert to a specific case (eg filename.lower()) before using string methods.

提交回复
热议问题