匹配除指定之外的每个单词

时间:2014-11-19 02:40:55

标签: regex perl

鉴于以下string

Some Name Season 1

我想要匹配:

Some Name(理想情况下是1个捕获组)

我尝试匹配的部分可能不一定是两个单词,可能发生在Season X X之前或之后Examples:是一个数字。

Some Name A B Season 23

Some Name A B返回Season 23 Some Name A B C D

Some Name A B C D返回(?!Season\s*\d+)\b\w+

目前我有:

{{1}}

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

根据您使用的语言,您可以使用branch reset功能。

(?|Season \d+ (.*)|(.*) Season \d+)

Live Demo

答案 1 :(得分:0)

以下内容适用于您的示例数据:

(.+)Season\s?\d+|Season\s\d+(.+)

它占据了Season之前和之后,Some Name被捕获到$1

希望它能满足您的需求:)