删除句子前的第一条注释



我想用java从句子中删除注释。

如果注释存在于句首,则可以删除该注释。

例如:

/*comment1*/ sentence /*comment2*/  content /*comment3*/ == sentence /*comment2*/  content /*comment3*/

仅删除第一条注释

使用锚定正则表达式仅匹配第一个注释:

str = str.replaceAll("^\s*/\*.*?\*/\s*", "");

这个正则表达式的关键点是:

  • ^表示"输入开始"
  • .*?匹配除不情愿的限定符之外的任何内容(因此它并不完全匹配最后一个*/

匹配项(如果有的话)会被替换为空白,这会有效地删除它


测试代码:

String str = "/*comment1*/ sentence /*comment2*/  content /*comment3*/ == sentence /*comment2*/  content /*comment3*/";
str = str.replaceAll("^\s*/\*.*?\*/\s*", "");
System.out.println(str);

输出:

sentence /*comment2*/  content /*comment3*/ == sentence /*comment2*/  content /*comment3*/

最新更新