[英]Regex between two characters - Matched between many same characters
您可以使用在第二個 pipe 字符匹配之后開始的捕獲組,直到第一次出現 1 或 2。
請注意.+?
還可以搭配|
所以它會越過|
如果 1 或 2 在右側的 pipe 字符之后。
^[^|]*\|[^|]*\|(.+?)\b[21]\b
如果您不想跨越換行符或 pipe 字符,您可以擴展否定字符 class 像^[^|\r\n]*
另一個使用環視的選項,如您的問題中的否定字符 class不跨越 pipe 字符:
(?<=^[^|]*\|[^|]*\|)[^|]+(?=\b[21]\b)
(?<=^[^|]*\|[^|]*\|)
在當前 position 左側斷言 2 個 pipe 字符[^|]+
匹配除|
之外的任何字符(?=\b[21]\b)
正向前瞻,向右斷言 2 或 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.