我正在尝试创建一个程序来解析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\\.]+[" "]+");
编译器改为说“令牌上的语法错误,删除这些令牌”。我怎样才能简单地按原样阅读正则表达式?
答案 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\\.]+[\" \"]+");