如何使用RegEX跳过行

时间:2015-01-08 12:46:56

标签: java regex

如果该行包含特定字词,我想从文件中跳过某些行。

我的意见是:

Report ID: XYZ
Report Date: 8/1/2015
Address : Hello 
--------------------------------------------------------------------
SNO Name    Age
--------------------------------------------------------------------
1   Shyam   28
2   Ram     30

输出应为:

Report ID: XYZ
Report Date: 8/1/2015
Address : Hello 
1   Shyam   28
2   Ram     30

我试过了

.*[^--|BAT]*

但我没有得到合适的输出。

注意:我在Firefox中使用RegExHTML进行解析。 很抱歉在JAVA中提及。

任何指导都将不胜感激。

2 个答案:

答案 0 :(得分:0)

-+[\s\S]*?-+

请使用替换,然后替换为empty string。请参阅演示。

https://regex101.com/r/sH8aR8/31

使用

-+[\\s\\S]*?-+

如果是java

答案 1 :(得分:0)

使用dotall修饰符(?s)在正则表达式中制作点以匹配偶数换行符。

String s = "Report ID: XYZ\n" + 
            "Report Date: 8/1/2015\n" + 
            "Address : Hello \n" + 
            "--------------------------------------------------------------------\n" + 
            "SNO Name    Age\n" + 
            "--------------------------------------------------------------------\n" + 
            "1   Shyam   28\n" + 
            "2   Ram     30";
System.out.println(s.replaceAll("(?s)(?<=\n|^)-+.*?-\n",""));

输出:

Report ID: XYZ
Report Date: 8/1/2015
Address : Hello 
1   Shyam   28
2   Ram     30