【发布时间】:2022-09-28 16:15:50
【问题描述】:
我想从字符串中删除除电影名称和年份之外的所有内容
我想保留不在括号中的所有内容:
**Dirty.Work.Wie.deweit.wuerdest.Du.gehen.2018**[.German.AC3.WEBRip]
**Zwei.baerenstarke.Typen.1983**[.DE.EN.DTSHD.MasteDEr.5.1.2160p.HDR10.x265-kellerratte]
**The.Hills.Have.Eyes.1977**[.COMPLETE.UHD.BLURAY-UNTOUCHED]
**Wonder.Woman.1984.2020.**[GERMAN.DUBBED.DL.2160p.HDR.WEB.x265]
**Wonder.Woman.1984**[.GERMAN.]**2020**[.DUBBED.DL.2160p.HDR.WEB.x265]
**2012**[.German.]**2006**[.DL.2160p.UHD.BluRay.HDR.HEVC.Remux]
**Sherlock.Holmes.2009**[.German.DL.]**2022**[.ock.Holmes.UHD.BluRay.2160p.UHD.BluRay.HDR.HEVC.Remux]
预期的:
Dirty.Work.Wie.deweit.wuerdest.Du.gehen.2018
Zwei.baerenstarke.Typen.1983
The.Hills.Have.Eyes.1977
Wonder.Woman.1984 2020
Wonder.Woman.1984 2020
2012 2006
Sherlock.Holmes.2009 2022
这是我尝试过的:
((?<=\\b\\d{4}\\b)|\\b(German|DE)\\b.*)
https://regex101.com/r/Z4cRMn/1
有谁知道怎么做?也许需要一些例子
-
这是一个不好的方法。你对这个问题有偏见。所以你可能只会得到正则表达式的答案。有比使用正则表达式更好的解决方案。我通常可以使用 strpos 并创建比正则表达式更有效的解决方案。但没关系,如果你只想要一个正则表达式解决方案。
-
您提出问题的方式有点误导 - 如果您想删除
[...]中的任何内容,您就可以说清楚,但实际上并非如此,只有您在外部平台上的示例才能清楚地说明这一点。 -
我怀疑你能得到精确的像你展示的那样输出。试试regex101.com/r/YtBAUe/1。我认为这是提供预期输出的最接近的解决方案。