gpt4 book ai didi

regex - 如何使用正则表达式获取一个单词组合的第一部分和最后一部分

转载 作者:行者123 更新时间:2023-12-02 01:54:01 26 4
gpt4 key购买 nike

如何使用 PCRE 正则表达式仅获取组合名称的中间部分?

名称:211103_TV_storyname_TYPE

结果:故事名

我使用了这一行:.(\d)+.(_TV_) 删除了第一部分:211103_TV_

另一个想法是使用 (_TYPE)$ 但问题是我在所有名称变体中都没有空间来声明第二个单词以使用 ^ 作为第一个单词和$ 第二个。

组合名称的变体已修复 _TYPE 和 TV。数字根据日期而变化。故事名称是可变的。有什么想法吗?

谢谢

最佳答案

使用您显示的示例,请尝试使用正则表达式,这将创建一个包含匹配值的捕获组。

.*?_TV_([^_]*)(?=_TYPE)

OR(根据第四只鸟的好建议添加上述解决方案的一个小变体),以下是与上面不同的惰性匹配 .*? :

_TV_([^_]*)(?=_TYPE)

Here is the Online demo for above regex

说明: 为以上添加详细说明。

.*?_      ##Using Lazy match to match till 1st occurrence of _ here.
TV_ ##Matching TV_ here.
([^_]*) ##Creating 1st capturing group which has everything before next occurrence of _ here.
(?=_TYPE) ##Making sure previous values are followed by _TYPE here.

关于regex - 如何使用正则表达式获取一个单词组合的第一部分和最后一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69829124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com