我想要创建一个regex表达式,它与电视节目文件格式中所有可能的插集编号格式相匹配。
我目前有这个正则表达式,它与大多数示例列表(但不是所有示例)匹配。
(?:(?<=e)|(?<=episode)|(?<=episode[\.\s]))(\d{1,2})|((?<=-)\d{1,2})它不匹配的是,当有两集直接接另一个e0102应该匹配01和02。
您可以通过测试用例这里找到regex示例。
发布于 2022-03-25 15:18:31
根据你的评论,我的假设如下:
为此,请尝试以下几点:
e(?:pisode)?\s*(\d{1,3}(?!\d)|\d\d\d??)(?:-?e?(\d{1,3}))?(?!\d)这里是一个在线演示。您会注意到,我添加了更多的示例来展示上述假设。
e(?:pisode)?\s* -将“e‘或’集‘与0+后面的空格字符匹配;(\d{1,3}(?!\d)|\d\d\d??) -第一个捕获组,如果没有跟踪任何其他数字或两位数,则捕获1-3位数字;(?:-?e?(\d{1,3}))? -一个可选的非捕获组与嵌套的第二个捕获组寻找可选的连字符和文字'e‘尾随数字(1-3);(?!\d) -没有剩余的尾随数字。https://stackoverflow.com/questions/71618585
复制相似问题