我每隔一段时间就会收到一些信息
ICY Info: StreamTitle='Elvis Presley - Saved';StreamUrl='';
ICY Info: StreamTitle='Elvis Presley - Saved'
ICY Info: StreamTitle='Ivank'av T'ali - Yorua';StreamUrl='';
ICY Info: StreamTitle='Ivank'av T'ali - Yorua'
我希望获得
Elvis Presley - Saved
Elvis Presley - Saved
Ivank'av T'ali - Yorua
Ivank'av T'ali - Yorua
我正在使用(?<=\=\').*(?=';S)
或(?<=\=\').*(?=')
,但它们似乎不合适
@Edit:我刚带来了(?<=\=\').*?(?=';)
当
';S
不存在时,(?=';S)
将不适用于第一个和第三个示例另一方面,在第一个和第三个例子中
(?=')
会匹配太多您可以在lookahead中使用一个替代项来检查
;:
或'
,后跟字符串的结尾(?<==').+?(?='(?:;|$))
Regex demo
解释
(?<==')
肯定的lookback断言左边的是='
.+?
匹配任意字符一次或多次非贪婪(?=
积极向前看,断言右边的是'(?:;|$)
匹配'
,后跟匹配;
或断言字符串$
结尾的替换)
关闭正向展望相关问题 更多 >
编程相关推荐