feat
使用
re.sub
喜欢
re.sub(r'\s*(?:\[feat[^][]+]|\(feat[^()]+\))', '', st)
看到了吗
regex demo
细节
-
\s*
-0+空格
-
(?:\[feat[^][]+]|\(feat[^()]+\))
-
\[feat[^][]+]
-
[
,那么
,则1+个字符
]
和
[
然后
]
-
|
-或者
-
\(feat[^()]+\)
-
(
,那么
壮举
(
)
)
.
你也可以使用一个轻微的变化,如果没有什么,但
壮举
内括号:
re.sub(r'\s*(?:\[feat[^]]*]|\(feat[^)]*\))', '', st)
Python demo
import re
sts = ['Skank Up [feat. Ding Dong] (Oh Lawd)','Skank Up (Oh Lawd) [feat. Ding Dong]', 'Skank Up (Oh Lawd) (feat. Ding Dong)']
for st in sts:
print(re.sub(r'\s*(?:\[feat[^][]+]|\(feat[^()]+\))', '', st))
Skank Up (Oh Lawd)
Skank Up (Oh Lawd)
Skank Up (Oh Lawd)