我是regex新手,似乎不知道如何从字符串s
创建一个包含匹配项的数组,如\nmedia_1.ts
、\nmedia_2.ts
等,如下所示。你知道吗
关于如何改进regex表达式有什么建议吗?你知道吗
s = '#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-TARGETDURATION:17\n#EXT-X-MEDIA-SEQUENCE:1\n#EXTINF:16.667,\nmedia_1.ts?wowzasessionid=184420502\n#EXTINF:16.666,\nmedia_2.ts?wowzasessionid=184420502\n#EXTINF:16.667,\nmedia_3.ts?wowzasessionid=184420502\n#EXTINF:16.667,\nmedia_4.ts?wowzasessionid=184420502\n#EXTINF:16.666,\nmedia_5.ts?wowzasessionid=184420502\n#EXTINF:16.667,\nmedia_6.ts?wowzasessionid=184420502\n#EXTINF:16.667,\nmedia_7.ts?wowzasessionid=184420502\n#EXTINF:16.666,\nmedia_8.ts?wowzasessionid=184420502\n#EXTINF:16.667,\nmedia_9.ts?wowzasessionid=184420502\n#EXTINF:16.667,\nmedia_10.ts?wowzasessionid=184420502\n#EXTINF:16.666,\nmedia_11.ts?wowzasessionid=184420502\n#EXTINF:16.667,\nmedia_12.ts?wowzasessionid=184420502\n#EXTINF:16.667,\nmedia_13.ts?wowzasessionid=184420502\n#EXTINF:16.666,\nmedia_14.ts?wowzasessionid=184420502\n#EXTINF:16.667,\nmedia_15.ts?wowzasessionid=184420502'
pattern = re.compile('nmedia_(.*?).ts', re.IGNORECASE)
match = pattern.findall(s)
match
您需要删除捕获组,并且必须在regex中使用
\n
换行符而不是n
。你知道吗如果你只知道号码
示例:
我建议你在正则表达式语句中尽可能明确。所以我建议的改进是
\d+
匹配一个或多个数字,而不是.*
,零个或多个数字。你知道吗由于您是regex新手,使用verbose标志可能会引起您的兴趣。(对于文档来说也很好)下面是一个代码示例:
这是一个demo。你知道吗
相关问题 更多 >
编程相关推荐