我想获得删除包含字符串/movie/
和上一行的每一行的代码(/
包含在/movie/
中)。
示例:
在代码之前:
#EXTINF:-1,Wreck-It Ralph
http://p5.giffy.be:8080/movie/RghyHCIE4i/SDrQatrZkx/104880.mp4
#EXTINF:-1,Wrinkle-Free
http://p5.giffy.be:8080/movie/RghyHCIE4i/SDrQatrZkx/105060.mp4
#EXTINF:-1,DR | TELEMICRO 5
http://p5.giffy.be:8080/RghyHCIE4i/SDrQatrZkx/99633
#EXTINF:-1,Wrong Mistake - Short Movie
http://p5.giffy.be:8080/movie/RghyHCIE4i/SDrQatrZkx/106840.mp4
#EXTINF:-1,DR | TELESISTEMA 11
http://p5.giffy.be:8080/RghyHCIE4i/SDrQatrZkx/99632
#EXTINF:-1,Wreck-It
http://p5.giffy.be:8080/movie/RghyHCIE4i/SDrQatrZkx/104707.mp4
#EXTINF:-1,DR | TELEUNIVERSO
http://p5.giffy.be:8080/RghyHCIE4i/SDrQatrZkx/99631
代码后:
#EXTINF:-1,DR | TELEMICRO 5
http://p5.giffy.be:8080/RghyHCIE4i/SDrQatrZkx/99633
#EXTINF:-1,DR | TELESISTEMA 11
http://p5.giffy.be:8080/RghyHCIE4i/SDrQatrZkx/99632
#EXTINF:-1,DR | TELEUNIVERSO
http://p5.giffy.be:8080/RghyHCIE4i/SDrQatrZkx/99631
答案 0 :(得分:1)
您可以使用以下正则表达式:
^.*?\r\n.*?\/movie\/.*?(\r\n|$)
分步操作:
工作原理:
^ # anchor to beginning of line
.*? # lazily match zero or more characters
\r\n # match carriage return and line feed
.*? # lazily match zero or more characters
\/movie\/ # match literal /movie/
.*? # lazily match zero or more characters
(\r\n|$) # match carriage return and line feed or EOL
答案 1 :(得分:1)
另一种选择是匹配第一行并匹配unicode换行符序列\R
。然后将第二行与/movie/
匹配,最后将\R
查找内容:
^.*\R.*/movie/.*\R
这将匹配
^
字符串的开头.*
匹配除换行符之外的任意字符0+次\R
匹配unicode换行符序列.*/movie/.*
匹配字符串中的/movie/
\R
匹配unicode换行符序列替换为:
留空