java 正则表达式多行匹配_Java正则表达式的多行匹配实战-将java文件中的单行和多行注释内容替换为空...

我们知道java中有三种注释方式

1. //  单行

2. /* .......*/   单行 或多行

3. /** .......*/ 单行 或多行

我们的目的就是把以上三种特征的注释替换

以下是例子

String s = “。。。。。。。。”;  // 将文件的内容赋值给s

Pattern pattern1 = Pattern.compile("//(.*)");    //特征是所有以双斜线开头的

Matcher matcher1 = pattern1.matcher(s);

s = matcher1.replaceAll("");  //替换第一种注释

Pattern pattern2 = Pattern.compile("/\\*(.*?)\\*/", Pattern.DOTALL);  //特征是以/*开始,以*/结尾,Pattern.DOTALL的意思是糊涂模式,这种模式下.(点号)匹配所有字符

Matcher matcher2 = pattern2.matcher(s);

s = matcher2.replaceAll("");  //替换第二种注释

Pattern pattern3 = Pattern.compile("/\\*\\*(.*?)\\*/", Pattern.DOTALL);  //特征是以/**开始,以*/结尾

Matcher matcher3 = pattern3.matcher(s);

s = matcher3.replaceAll("");   //替换第三种注释

System.out.println(s);   //打印结果

public static void main(String[] args) {

File file = new File("BookServiceImpl.txt");

try {

String countent = FileUtils.readFileToString(file);

String patternStr = "private String whereHql.*\r*\n*return whereHql.{0,9}}";

Pattern pattern = Pattern.compile(patternStr, Pattern.DOTALL);

Matcher matcher = pattern.matcher(countent);

boolean matchFound = matcher.find(); // true

System.out.println(matchFound);

System.out.println(matcher.group());

} catch (IOException e) {

e.printStackTrace();

}

}

28e4ac7f913c46bba656a55f2533cb32.gif

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值