正则表达式通过匹配最后一个单词来获取一行,但不应该选择最后一个单词

时间:2015-07-14 04:37:40

标签: regex

我需要一个正则表达式,需要获取一行最后有一个匹配单词的行。它应该选择行而不选择lastword。

例如

abc = new obj(); //对象OBJECT_CREATION

正则表达式应该选择上面有OBJECT_CREATION的语句,但是应该选择下面的语句。 OBJECT_CREATION关键字应该用于标识该行,不应该选择它。

预期输出

abc = new obj(); //对象

有可能得到它吗?

1 个答案:

答案 0 :(得分:0)

只需用空字符串替换最后一个单词和前面的空格字符。

string.replaceAll("\\s*\\S+$", "");

string.replaceAll("\\s*\\S+\\s*$", "");

将所有角色匹配到最后一个空格。

Pattern p = Pattern.compile(".*(?= )");

Pattern p = Pattern.compile(".*(?=\\s)");