我想通过正则表达式获取字符串的一部分,但我尝试这样做,但返回的值超出了我的需要。这是我的代码:
Release_name = 'My Kitchen Rules S10E35 720p HDTV x264-ORENJI'
def get_rls(t):
w = re.match(".*\d ", t)
if not w: raise Exception("Error For Regular Expression")
return w.group(0)
regular_case = [Release_name]
for w in regular_case:
Regular_part = get_rls(w)
print(">>>> Regular Part: ", Regular_part)
此示例的代码“ My Kitchen Rules S10E35 720p HDTV x264-ORENJI
”
返回此“ My Kitchen Rules S10E35
”,但我不需要“ S10E35
”,只需返回此My Kitchen Rules
答案 0 :(得分:4)
您可以使用
w = re.match(r"(.*?)\s+S\d+E\d+", t)
并且由于您需要的值在组1中:
return w.group(1)
请参见Python demo,输出为>>>> Regular Part: My Kitchen Rules
。
模式详细信息
(.*?)
-除换行符以外的任何0+个字符,并且尽可能少\s+
-超过1个空格S\d+E\d+
-S
字符,超过1个数字,E
和1个以上数字 re.match
仅从字符串的开头开始匹配,^
不需要在模式的开头。