Java Regex - 无效的转义序列,带有一个反斜杠,删除这些令牌有两个

时间:2014-06-04 14:31:44

标签: java regex eclipse

我正在尝试创建一个程序来解析Eclipse中的输出,但是当我像这样输入正则表达式时:

Pattern signaturePattern = Pattern.compile("[A-Z0-9_]+[" "]+[A-Za-z0-9\.]+[" "]+[A-Za-z0-9\.]+[" "]+[A-Za-z0-9\.]+[" "]+[A-Za-z0-9\.]+[" "]+");

编译器给出了一个错误,指出“无效的转义序列”。但是,当我做这个问题的许多答案时,建议 - 也就是说,在点上添加一个额外的反斜杠 - 然后我输入它:

Pattern signaturePattern = Pattern.compile("[A-Z0-9_]+[" "]+[A-Za-z0-9\\.]+[" "]+[A-Za-z0-9\\.]+[" "]+[A-Za-z0-9\\.]+[" "]+[A-Za-z0-9\\.]+[" "]+");

编译器改为说“令牌上的语法错误,删除这些令牌”。我怎样才能简单地按原样阅读正则表达式?

1 个答案:

答案 0 :(得分:2)

你忘了逃避你的双引号(仅限一个逃脱):\"

以下是您的转义Pattern(代码和Pattern编译,但我不保证它能满足您的要求。)

Pattern signaturePattern = Pattern.compile("[A-Z0-9_]+[\" \"]+[A-Za-z0-9\\.]+[\" \"]+[A-Za-z0-9\\.]+[\" \"]+[A-Za-z0-9\\.]+[\" \"]+[A-Za-z0-9\\.]+[\" \"]+");