我正在努力定義一個可以找到以下內容的正則運算式:
對于所有 PLUXXX,Y=11,我需要使用 XXX 來查找與 REFXXX 關聯的值。
鑒于輸入:
REF178=1234
OTHER RANDOM DATA LINE
PLU178,1=11
OTHER RANDOM DATA LINE
PLU179,1=11
REF179=5678
OTHER RANDOM DATA LINE
OTHER RANDOM DATA LINE
REF180=5432
PLU180,1=12
REF181=123432
我想拿回 1234 和 5678。REF180 被忽略,因為 PLU180 等于 12。REF181 被忽略,因為沒有匹配的 PLU。
輸入檔案有許多行和多個具有不同 XXX 值的 REF/PLU 對。REF/PLU 線的順序是隨機的,中間還有其他資料線。
如果匹配的 PLU 值為 11,我只對 REF 值感興趣。
我可以將 PLU 與
(PLU)(. )(\,. =11)
知道第二個捕獲組應該以某種方式與 REF 配對以找到所需的值。
我想應該使用積極的前瞻,但無法找出正確的語法。
uj5u.com熱心網友回復:
您可以使用
^REF(\d )=\K\d (?=(?:\R(?!REF\d).*)*?\RPLU\1,1=11$)|^PLU(\d ),1=11(?:\R(?!REF\d).*)*?\RREF\2=\K\d
請參閱
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/334567.html
標籤:正则表达式
