[英]Regex for extracting string between patterns
需要一些幫助正則表達式用於在start_pattern和end_pattern之間提取字符串。 此外,如果不存在end_pattern,則正則表達式應該將所有字符grep到行尾。
Sample 1 : "BOOK1:book1A,book1B,book1C,book1D"
預期成果:book1A,book1B,book1C,book1D
Sample 2 : "BOOK1:book1A,book1B,book1C,book1D|BOOK2:book2A,book2B,book2C,book2DA"
預期成果:(1)book1A,book1B,book1C,book1D(2)book2A,book2B,book2C,book2DA
當字符串終止符為“|”時,我設法解決了正則表達式(如下所示),但是當沒有終結符時無法解決它
(?<=BOOK1:).*(?=\|)
使用$
並更改.*
到.*?
(?<=BOOK1:|\|).*?(?=\||$)
$
標記行或字符串的結尾
.*?
會很懶散的
例如,輸入
a|b|c|d|e
與正則表達式
(?<=\|).*(?=\|)
它會匹配b|c|d
與正則表達式
(?<=\|).*?(?=\|)
它會匹配
b
c
d
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.