我有以下正则表达式(使用 Python 语法):
(\d+)x(\d+)(?:\s+)?-(?:\s+)?([^\(\)]+)(?:\s+)?\((\d+)(?:(?:\s+)?-(?:\s+)?([^\(\)]+))?\)(?:(?:\s+)?\(([^\(\)]+)\))?(?:(?:\s+)?-(?:\s+)?([^\(\)]+) \((\d+)\))?
它匹配符合以下形式之一的字符串:
21x04 - Some Text (04)
6x03 - Some Text (00 - Some Text)
6x03 - Some Text (00 - Some Text) (Some Text)
23x01 - Some Text (10) - Some Text (02)
数字和文本各不相同,并被捕获。但是,间距并不总是一致的,因此它被设计为允许任意数量的空间。
有没有办法简化它 - 我不一定要求有人为我做这件事,只是告诉我是否有工具(谷歌搜索产生了一些结果,但没有一个可以处理它),或者系统的方法来做到这一点。
或者任何人都可以看到适合这种情况的更好的正则表达式?