第二个匹配组被第一个减少

时间:2019-05-31 06:10:32

标签: java regex overlapping-matches

我正在尝试创建一个正则表达式来匹配电视节目的文件名。 像

这样的字符串
  

关于一个男孩-s01e09-一些标题

我想找到3个匹配的组:

1 About a boy 
2 s01e09 
3 Some title

我正在测试此正则表达式

  

(。+)([-\ s。] {1,3})(s [0-9] {1,2} e [0-9] {2} | [0-9] {1, 2} x [0-9] {2})([-\ s。] {1,3})(。+)

我的第一个比赛组成为

  

关于一个男孩-

这是错误的,因为第一组(。+)占用了与该组重叠的太多字符串([-\ s。] {1,3}),因此我建立了这种方式以匹配

About a boy s01e09 Some title
About.a.boy.-.s01e09.-.Some.title
About.a.boy.s01e09.Some.title

有什么想法让第二组变得更加贪婪,而第一组变得更少?我尝试了勉强的量词和积极的展望,但没有成功。

预先感谢

0 个答案:

没有答案