基本上这就是它的样子:
int abc = 10;
* this is a comment
所以,我只是想找到* this is a comment
,以便我可以从字符串中删除它。我尝试了一些例子,虽然它似乎不起作用。这个想法基本上以*
开头,然后是以换行符(\n)
结尾的单词,数字或符号(任何真正的)的任意组合。
谢谢。
答案 0 :(得分:4)
模式^\*.*$
应该在这里工作:
String line = "Not a comment\n* This is a comment\n*This is also a comment\n";
line += "Not a * comment.";
String pattern = "^\\*.*$";
Pattern r = Pattern.compile(pattern, Pattern.MULTILINE);
Matcher m = r.matcher(line);
while (m.find( )) {
System.out.println("Found value: " + m.group(0) );
}
Found value: * This is a comment
Found value: *This is also a comment
这里解释不多,除了*
是一个正则表达式元字符,如果你想将它用作文字,那么它需要用反斜杠进行转义。
答案 1 :(得分:3)
在这种情况下的正则表达式IMO是一种矫枉过正。将这些行拆分为" \ n"然后对于每一行,只需用line.startsWith("*")
进行检查即可进行过滤。