Java 如何使用正则表达式跳过行
如果文件中的某行包含特定单词,我想跳过该行 我的意见是:Java 如何使用正则表达式跳过行,java,regex,Java,Regex,如果文件中的某行包含特定单词,我想跳过该行 我的意见是: Report ID: XYZ Report Date: 8/1/2015 Address : Hello -------------------------------------------------------------------- SNO Name Age -------------------------------------------------------------------- 1 Shyam 2
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中提到
任何指导都将不胜感激
-+[\s\S]*?-+
改为使用replace并替换为空字符串
。请参阅演示
使用
如果是java使用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",""));
你在使用什么正则表达式工具?你在运行哪种语言?
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