2024-04-28 19:31:17 发布
网友
标题=MANTRA (IFD & RENDER): mh 104_IJ_5070_Fireworks_residualSmoke_v3 (/obj/FX_jet_contrails/_RENDER/smokeResidual_Beauty) (Frames: 1001-1151)
MANTRA (IFD & RENDER): mh 104_IJ_5070_Fireworks_residualSmoke_v3 (/obj/FX_jet_contrails/_RENDER/smokeResidual_Beauty) (Frames: 1001-1151)
我想用正则表达式分离这个标题中的“mh 104_IJ_5070_fireholds_residualSmoke_v3”部分,但我正在努力找出一种干净的方法
有什么想法吗
请使用Python 2.7
假设标题的第一部分MANTRA (IFD & RENDER):没有更改,并且要提取的两个部分不包含空格字符,则以下操作应该有效:
MANTRA (IFD & RENDER):
import re title = "MANTRA (IFD & RENDER): mh 104_IJ_5070_Fireworks_residualSmoke_v3 (/obj/FX_jet_contrails/_RENDER/smokeResidual_Beauty) (Frames: 1001-1151)" substring = re.search(r": (\S+ \S+)", v).group(1) print(substring)
收益率:
'mh 104_IJ_5070_Fireworks_residualSmoke_v3'
这可以有效地捕获第一个冒号+空格:之后的所有内容,并捕获前两部分非空格字符
:
这一切都取决于你可以改变什么,所以你需要什么锚定你的正则表达式
我个人会避免正则表达式,如果你能帮助它-他们只是创造了很多错误
尝试:
" ".join(str.split()[6:8])
将字符串拆分为单词,然后抓住第6个和第7个单词并将它们放回一起
如果你真的想用regexp
import re r = "TITLE = (?P<title>.*): (?P<data>.*) \((?P<path>.*)\) \(Frames: (?P<frame>.*)\)" m = re.match(r, str) m.groupdict() {'path': '/obj/FX_jet_contrails/_RENDER/smokeResidual_Beauty', 'frame': '1001-1151', 'data': 'mh 104_IJ_5070_Fireworks_residualSmoke_v3', 'title': 'MANTRA (IFD & RENDER)'}
假设标题的第一部分
MANTRA (IFD & RENDER):
没有更改,并且要提取的两个部分不包含空格字符,则以下操作应该有效:收益率:
这可以有效地捕获第一个冒号+空格
:
之后的所有内容,并捕获前两部分非空格字符这一切都取决于你可以改变什么,所以你需要什么锚定你的正则表达式
我个人会避免正则表达式,如果你能帮助它-他们只是创造了很多错误
尝试:
将字符串拆分为单词,然后抓住第6个和第7个单词并将它们放回一起
如果你真的想用regexp
相关问题 更多 >
编程相关推荐