仍然在學習正則表達式,並且無法讓我的頭部纏繞在lookahead概念上。類似的數據,在這裏我的問題 - Matching multiple lines up until a sepertor line?,說我有用戶交給我下面幾行:正則表達式 - 通過換行符查看模式
0000AA.The horizontal coordinates are valid at the epoch date displayed above.
0000AA.The epoch date for horizontal control is a decimal equivalence
0000AA.of Year/Month/Day.
0000AA
[..]
所以一個很簡單的正則表達式是@^[0-9]{4}[A-Z]{2}\.(?<noteline>.*)
,那裏會給我的每一行。太棒了。 :)但是,我想要一個lookahead(或一個條件?),它會查看下一行,並告訴我該行是否帶有'。'的代碼。 (即如果下一行會匹配@^[0-9]{4}[A-Z]{2}[^\.]
試圖先行,我得到第一個兩行命中(因爲以下行有「」代碼後),但不是最後一次。
編輯:使用上面的正則表達式,或者下面提供的正則表達式給了我所有的行,但是我想知道如果一個空行(以AA0000代碼行,但是之後沒有'。'行),例如,當我開始在線上的匹配of Year/Month/Day
,我想知道IF該行後面跟着一個空行(或不是)(與分組名稱不是空格或空的,用於高級示例)
編輯2:我可能會誤用'lookahead'術語。回顧.NET的正則表達式,我看到一些被稱爲交替構造的東西,但不確定是否可以在這裏使用它。
謝謝!
Mike。
謝謝,我是用多,我忘了提,這工作,但忽略了問題的要點(我不好,因爲我並不清楚。 )我編輯我的問題更清晰了! – Coyttl 2013-02-11 21:11:11
我的示例返回的行不是在行後面有一個沒有點的數字的行之後,它是空白行的意思嗎?如果您的意思是行只有一個數字你可以通過'(?!^ [0-9] {4} [AZ] {2} $)'來改變負向預測,如果行s '(?!^ $)'完全可以。 – 2013-02-11 21:43:40