更具体地说,我不知道确切的值是什么。
基本上我需要找到3或4位数的字符,然后是文字字母p?
即1080p
,720p
,576p
等...
看了很多东西,但却无法使它发挥作用。
Heres'示例字符串
Back.to.the.Future.1985.720p.BluRay.X264-AMIABLE.mkv
在这种情况下,我想返回
Back.to.the.Future.1985.
re.search("^[^\d{3,4}p]+","Back.to.the.Future.1985.720p.BluRay.X264-AMIABLE.mkv")
然而,返回
'Back.to.the.Future.'
非常感谢
答案 0 :(得分:3)
我需要找到3或4位数字符后跟字面值p
\d{3,4}p
如果您不想匹配3456p
中的123456poop
,可以添加一些断言,例如:
\b\d{3,4}p\b
答案 1 :(得分:2)
>>> import re
>>> re.search("(.*)\d{3,4}p",
"Back.to.the.Future.1985.720p.BluRay.X264-AMIABLE.mkv").groups()[0]
'Back.to.the.Future.1985.'
答案 2 :(得分:1)
听起来你想要的是“任何东西,后跟一个或多个数字,然后是'p'”。然后你想“捕捉”“任何”部分。
看起来像
(.*)\d+p
或指定数字量范围,
(.*)\d{3,4}p