我正嘗試使用Java正則表達式來匹配跨越多行的模式。該模式具有與「A」後緊跟50個字符,然後與後緊跟50個字符「B」開頭的一行或多行開始一條線:Java正則表達式來查找特定長度的多行
A... // exactly 50 chars after the A
B...
B...
Java正則表達式似乎不支持這然而。
下面是用於一個A和一個B線工作的正則表達式:
A.{50}[\\n[\\n\\r]]B.{50}[\\n[\\n\\r]]
這裏是修飾以找到一種或多種B線相同的正則表達式:
A.{50}[\\n[\\n\\r]][B.{50}[\\n[\\n\\r]]]+
此正則表達式僅發現然而,第一條B線上的前B字。我使用[\\n[\\r\\n]]
來處理DOS和UNIX換行符。打開MULTILINE模式不會影響結果。
問題似乎是,當我使用括號'+'將B行的正則表達式轉換爲可捕獲多行的字符類時。
有沒有關於Java正則表達式的東西,不允許'。'字符或大括號來指定確切的行長度?
「A」後面有一個A行,後面有50個字符,然後是多個B行,後面跟着「B」後面的50個字符。 stackoverflow並沒有保留上面顯示的A和B行之間的換行符。 – 2010-11-22 17:57:30