正则表达式在字符串之前匹配或全部/从匹配中删除字符串

RegEx match before string or all / Remove string from match

我尝试搜索但找不到我的案例。我需要在字符串 "part 1" 或 "part 2" 等之前匹配所有内容。但如果没有任何 "part x" 字符串来匹配所有内容。示例:

它应该总是 return "Any words here"。我试过这个

(.+)(?=\spart\s\d|\sPart\s\d)

但缺少 "part x" 时不匹配。其他解决方案是从匹配中删除任何 "part x" 字符串。

感谢您的帮助!

^.+?(?=part\s*1|part\s*2|$)

使用 anchors 或者 part 1part 2。查看演示。

https://regex101.com/r/cZ0sD2/5

^.+?(?=part\s*\d+|$)

您可以使用这个正则表达式:

^(.*?)(?: part \d+)?$

RegEx Demo