簡體   English   中英

用於在模式之間提取字符串的正則表達式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM