-3

所以这个正则表达式是为了让我可以找到声明 java 文件的每种方法。我相信这应该得到我正在使用它的java文件的每个实例,但问题是我不断得到无效的转义序列(有效的是 \b \t \n \f \r \" \' \ )。

这是字符串。

private String map = "(public|final|protected|private|static|\s) (final|static)* +[\w\<\>\[\]]+\s+(\w+) *\([^\)]*\) *(\{?|[^;]) {";

这是 Eclipse IDE 出错的部分。

(public|final|protected|private|static|\s)

我知道在这方面还有很多其他类似的帖子,但是在搜索了大约 10 个之后,我仍然无法找出问题所在。

谢谢你的帮助。

4

1 回答 1

6

您需要将 Java 字符串文字中的转义字符加倍:

private String map = "(public|final|protected|private|static|\\s) (final|static)* +[\\w\\<\\>\[\\]]+\\s+(\\w+) *\\([^\\)]*\\) *(\\{?|[^;]) {";

\\Java 字符串文字中的每一个都成为\字符串本身中的一个。

于 2013-03-28T04:12:18.930 回答