我正在一个 150 万行的 Premiere Pro 项目中搜索任何与我的音频过滤器之一匹配并设置为单声道的文本。
我正在搜索的文本以 <ChannelType>
开头标记并以 <FilterMatchName>
结尾标签。所以它看起来像这样
<ChannelType>0</ChannelType>
<FrameRate>5292000</FrameRate>
</AudioComponent>
<FilterPreset>0</FilterPreset>
<OpaqueData Encoding="base64" Checksum="53060659">AAAAAD8L8lo+AUr+Pac1NjwTmoUAAAAAP0uQDD37nIg9ui6MPjwU5j+AAAA+C/JaAAAAAD8qqqsAAAAAP4AAAD92L8w9py8FAAAAAHNvZnQgY29tcHJlc3Npb24AIiBkZWZhdWx0PSIwIiBzdGVwPSIxIiBtaW49IjAiIG1heD0iMSIvPgoJICA8Zmw=</OpaqueData>
<FilterIndex>-1</FilterIndex>
<FilterMatchName>1094998321 Dynamics1</FilterMatchName>
如果我在 Word 文档中,我会按以下方式查找
<ChannelType>0</ChannelType>*<FilterMatchName>1094998321 Dynamics1</FilterMatchName>
我对 Regex 很不满意。我希望有人能帮助我。我尝试过的所有内容要么不匹配,要么匹配文档中的所有内容。我正在使用 Notepad++。
最佳答案
由于您在 Notepad++ 中工作,因此您可以访问 PCRE
常用表达。这将获取 <ChannelType>
之间的所有文本和 </FilterMatchName>
(?s)<ChannelType>.*?</FilterMatchName>
(?s)
允许.
匹配换行符- 匹配后
<ChannelType>
,.*?
延迟匹配所有字符直到... - 结束
</FilterMatchName>
,我们匹配。
如果您有任何问题,请告诉我。 :)
关于regex - 匹配两个长字符串并忽略其间所有内容的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24273748/