如何在JAVA中编写正则表达式来提取注释

时间:2013-09-18 19:49:56

标签: java regex

我的评论如下:

//= abcd .

在=和字母d之后有一个空格。现在我需要提取abcd。任何的想法?

我在java中写了以下内容:

//\\=.*?\\s{2} 

但它不起作用。任何的想法?

5 个答案:

答案 0 :(得分:2)

这可能适合你:

"(?<=^//= ).*(?= \\.)$"

答案 1 :(得分:0)

试试这个。

//= ([[A-Za-z]+\\s?]+)[\\s\\.]$

答案 2 :(得分:0)

String s = "//= abcd .";
Pattern pattern = Pattern.compile("(?<=//= )(\\w+)(?= \\.)");
Matcher matcher = pattern.matcher(s);
if(matcher.find())
System.out.println(matcher.group(1));

output = abcd

答案 3 :(得分:0)

假设所有行都以//=开头,以.结尾 你也可以试试这个://\=\s*(.*)\s*\.

我在Regex Planet进行了测试。

答案 4 :(得分:0)

Pattern pattern = Pattern.compile("//=[ \t]+(.+)[ \t]+\\.$");
Matcher matcher = pattern.matcher("//= f+!sdafl,bsadf blargh .");
if (matcher.find()) {
    String extracted = matcher.group(1); // "f+!sdafl,bsadf blargh"
}

正则表达式是:

//=[ \t]+(.+)[ \t]+\.$