【发布时间】:2014-03-14 23:15:47
【问题描述】:
在 Java 中我有这个字符串:
uk\learningAid\UserInputs\UserClass.java:16: error: cannot find symbol
player.mvRight(3);
我目前正在使用这个正则表达式来匹配16 和cannot find symbol:
Pattern pattern = Pattern.compile(":(\\d+):\\serror:\\s(.*)");
但是,我还想匹配新行上的player.mvRight(3);。我该怎么做?
我尝试在 reex 末尾添加此 \\n(.*),但它无法匹配任何内容。
【问题讨论】:
-
使用
Pattern.compile("...", Pattern.DOTALL) -
Pattern.DOTALL覆盖不匹配任何新行的正则表达式.功能。但是,对我来说,这也会在player.mvRight(3);之后检索文本。我只想匹配player.mvRight(3);,之后什么都没有。 -
那么你必须更精确地了解你可能的输入和预期的输出
-
@RudiKershaw 我对任何事情都持开放态度。你能举个例子吗?
-
你解决过这个问题吗?如果是这样,请不要忘记投票并接受答案。如果以下都不是您解决问题的方法,您可以发布自己的答案并接受。