捕获电影标题组
Capturing groups of movie title
我正在尝试从电影标题中捕获以下组:
file = "The Great Home Se01E01 Meatballs for Dinner"
<show> = "The Great Home"
<season> = "Se01"
<episode> = "E01"
<title> = "Meatballs for Dinner"
暂时,我只能部分捕获并使用以下代码:
import re
file = "The Great Home Se01E01 Meatballs for Dinner"
seasonEpID = re.search(r'(\bS/?.+\d{1,2})+(E/?.+\d{1,2})', file)
print(seasonEpID.groups())
其中returns以下:
('Se01', 'E01')
如何捕获<show>
、<season>
、<episode>
、<title>
这四组?
我会使用具有以下正则表达式模式的 re.findall
:
^(.*?)\s+(Se\d+)(E\d+)\s+(.*)$
示例脚本:
file = "The Great Home Se01E01 Meatballs for Dinner"
parts = re.findall(r'^(.*?)\s+(Se\d+)(E\d+)\s+(.*)$', file)
print(parts)
这会打印:
[('The Great Home', 'Se01', 'E01', 'Meatballs for Dinner')]
import re
file = "The Great Home Se01E0k1 Meatballs for Dinner"
match = re.fullmatch(r"(?P<show>.+?) (?P<season>Se\d+)(?P<episode>E\d+) (?P<title>.+)", file)
print(match.groupdict() if match else "No match")
'''
{
'episode': 'E01',
'season': 'Se01',
'show': 'The Great Home',
'title': 'Meatballs for Dinner'
}
'''
我正在尝试从电影标题中捕获以下组:
file = "The Great Home Se01E01 Meatballs for Dinner"
<show> = "The Great Home"
<season> = "Se01"
<episode> = "E01"
<title> = "Meatballs for Dinner"
暂时,我只能部分捕获并使用以下代码:
import re
file = "The Great Home Se01E01 Meatballs for Dinner"
seasonEpID = re.search(r'(\bS/?.+\d{1,2})+(E/?.+\d{1,2})', file)
print(seasonEpID.groups())
其中returns以下:
('Se01', 'E01')
如何捕获<show>
、<season>
、<episode>
、<title>
这四组?
我会使用具有以下正则表达式模式的 re.findall
:
^(.*?)\s+(Se\d+)(E\d+)\s+(.*)$
示例脚本:
file = "The Great Home Se01E01 Meatballs for Dinner"
parts = re.findall(r'^(.*?)\s+(Se\d+)(E\d+)\s+(.*)$', file)
print(parts)
这会打印:
[('The Great Home', 'Se01', 'E01', 'Meatballs for Dinner')]
import re
file = "The Great Home Se01E0k1 Meatballs for Dinner"
match = re.fullmatch(r"(?P<show>.+?) (?P<season>Se\d+)(?P<episode>E\d+) (?P<title>.+)", file)
print(match.groupdict() if match else "No match")
'''
{
'episode': 'E01',
'season': 'Se01',
'show': 'The Great Home',
'title': 'Meatballs for Dinner'
}
'''