Java模式上的Java模式多行匹配

时间:2013-01-15 14:52:24

标签: java regex multiline

我需要提取以下模式:

public void convert(String sourceName, String destName,
        ProgressListener progressListener, Decoder.Params decoderParams)
        throws JavaLayerException

或者它可以具有

的形式
public void convert(String sourceName, String destName)

public void convert(String sourceName, String destNam)
        throws JavaLayerException

我使用以下模式,但模式仅识别第二个原型而不是第一个和第三个。 使用的模式是:

Pattern exp = Pattern.compile("([^(\n\t]*)"+Pattern.quote(obracket)+"([^()\n\t]*)"+Pattern.quote(cbracket));
where obracket="(" and cbracket=")";

非常感谢任何建议或帮助。

1 个答案:

答案 0 :(得分:0)

您可以将此正则表达式用于singleline模式..

\\s+(public|private|protected)?\\s+\\w+\\s+[\w$]+\\([^()]*\\)\\s+(throws\\s+[\\w$]+)?