Python 如何检查字符串是否与特定模式匹配?

Python 如何检查字符串是否与特定模式匹配?,python,Python,我有一个字符串,它基本上是一个.mp4文件的文件路径 我想测试文件路径是否匹配以下模式之一: /*.mp4 (nothing before the slash, anything after) */*.mp4 (anything before and after the slash) [!A]*.mp4 (anything before the extension, **except** for the character 'A') 实现这一目标的最佳方式是什么? 谢谢 编辑: 我不是

我有一个字符串,它基本上是一个.mp4文件的文件路径

我想测试文件路径是否匹配以下模式之一:

/*.mp4   (nothing before the slash, anything after)
*/*.mp4  (anything before and after the slash)
[!A]*.mp4  (anything before the extension, **except** for the character 'A')
实现这一目标的最佳方式是什么? 谢谢

编辑:

我不是要测试文件是否以.mp4结尾,而是要测试文件是否以结尾,以及是否分别匹配这3种情况

我试着使用“endswith”,但它太笼统了,不能像我在示例中所寻找的那样“具体化”

它们是:

string.endswith('.mp4') and string.startswith('/')

string.endswith('.mp4') and "/" in string

string.endswith('.mp4') and "A" not in string

或者,看看如何使用。

string.endswith('mp4')
?这是一个概括,我正在寻找一种方法来分别测试上述每个场景。阅读文档,试试运气,编写一些代码。@Gambit2007这个问题没有显示任何研究成果。好吧,这真的是我的错。然而,人们仍然将这个问题标记为重复问题,而它不是。只有一个更正-为了找到正斜杠,你需要将其转义,因此它实际上是“/”@Gambit2007不,你不需要转义。在大多数系统上,只有反斜杠必须转义。好吧,我使用的是OSX El Capitan,我必须转义it@wim为什么要将字符串中的“A”更改为非字符串。startswith('A')。似乎与第三个标准不同。还有,为什么要用fnmatch代替findMy的错误呢。把它换回来
fnmatch
是这种全局搜索的常用方法,它可能会帮助其他读者提到它。find在这里是没有用的,因为它不支持任何方式的通配符。