正则表达式匹配从英镑符号到行尾

时间:2015-08-01 06:12:03

标签: java regex

我曾尝试使用regexr.com提出解决方案,但我找不到解决方案。我正在寻找一些符合此要求的正则表达式:

#This is some text \n

我希望匹配整个行,它从磅符号开始,以新行字符结束。例如:

#This is some text \n
This is some text I don't want to match

我想匹配第一行,以便我可以完全删除它。我正在使用Java Regex引擎。

编辑: 这就是我的尝试:

/(#.*\n)/g

2 个答案:

答案 0 :(得分:2)

完全删除所有注释行及其换行符(如果存在)。

string.replaceAll("(?m)^#.*\n?", "");

如果没有可选的量词?,此(?m)^#.*\n正则表达式将不会删除最后一个注释行。

DEMO

答案 1 :(得分:2)

您可以使用(?m)^#.*\n作为模式:

String lines = 
    "#This is some text \n" +
    "#This is some text \n" +
    "This is some text I don't want to match\n";
String comment_removed = lines.replaceAll("(?m)^#.*\n", "");

使用(?m) (multiline mode)在行的开头匹配^。否则,它只会在字符串的开头匹配。

Ideone demo