匹配但不包括带有多个下划线的字符串

时间:2019-04-10 13:49:53

标签: regex

例如,我有一个字符串

Apple_Banana_Orange_PACK101_10
Pear_Apple__Grapes_BUNDLE222_06

我需要一个与_PACK或_BUNDLE之前的所有内容都匹配的正则表达式字符串。

例如,我希望第一个字符串返回

Apple_Banana_Orange

我尝试过:

如果您想捕获所有不超过“ abc”的内容:

/^(.*?)(_PACK|_BUN)/

还有其他一些选择,但是仍然很挣扎。任何帮助表示赞赏

2 个答案:

答案 0 :(得分:1)

按如下方式使用积极前瞻:

^.*?(?=_PACK|_BUN)

Demo

答案 1 :(得分:0)

您只需完成

^(.*)(_PACK|_BUNDLE) 

第1组是您想抓的地方