[英]Restricting Positive Lookahead when capturing
我有時會從流中獲取一些文本,例如
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
不起作用。
另一方面(?=')
在第一個和第三個示例中匹配得太多。
您可以做的是在前瞻中使用交替顯示來檢查;:
或'
后跟字符串的末尾。
(?<==').+?(?='(?:;|$))
說明
(?<==')
向后斷言肯定左邊是='
.+?
一次或多次匹配任何字符而不貪心 (?=
正向前進以斷言右邊是
'(?:;|$)
Match '
后跟一個交替匹配;
或斷言字符串$
的結尾 )
正面正向
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.