【发布时间】:2014-03-13 16:43:13
【问题描述】:
我正在尝试创建一个正则表达式来提取标题、副标题和出版商。我想知道如何使字幕搜索成为可选。
我的格式是:
Title-(Subtitle)-[Publisher]
地点:
- Title – 是我想在第一个捕获组中捕获的字符串。
- (Subtitle) – 是一个可选字符串,用括号括起来,我想 在第二个捕获组中捕获。
- [Publisher] – 是一个用方括号括起来的字符串,我想在第三次捕获中捕获 组。
例如:
Programming.in.Python.3-(A.Complete.Introduction.to.the.Python.Language)-[Addison-Wesley]
Learning.Python-[O'Reilly]
Flask.Web.Development-(Developing.Web.Applications.with.Python)-[O'Reilly]
现在,我有一个正则表达式 (see online) 将捕获第一个和第三个:
(.*)-\((.*)\)-\[(.*)\]
我的问题是我不知道如何构造一个匹配第二行的正则表达式(第 1 组中的标题,第 2 组应为空,第 3 组为 Publisher)如果它没有字幕括在括号中。这可以在单个正则表达式中完成吗?
【问题讨论】: