Java 模式匹配器不接受论文
当我编译并运行它时,输出是:Java 模式匹配器不接受论文,java,regex,matcher,Java,Regex,Matcher,当我编译并运行它时,输出是: public class T_token implements Lexer{ static Pattern p = Pattern.compile("\\( | \\) | a"); static Matcher d = p.matcher("( a )"); public static void main(String[] args) { while (d.find()) {
public class T_token implements Lexer{
static Pattern p = Pattern.compile("\\( | \\) | a");
static Matcher d = p.matcher("( a )");
public static void main(String[] args) {
while (d.find()) {
System.out.println(d.group());
}
}
所以我给匹配器(变量d)的输入是字符串“(a)”,但它只打印出a,而不是左括号和右括号。。有人能告诉我如何解决这个问题吗?正则表达式中有两个问题:
\\(\124;\\)\ 124a
输出:
run:
a
BUILD SUCCESSFUL (total time: 0 seconds)
仔细阅读Javadoc中的
模式。文字括号必须转义,因为未转义括号是用于分组的元字符。我建议您停下来,花点时间学习正则表达式语法。web上有很多资源,还有Javadoc。您的实际问题是什么?你想得到什么?我输入的是(a),所以我想打印(a),但它忽略了偏执,我编辑了代码,有\(和\),但仍然不起作用。谢谢你,在我提出问题之前,我知道\(和\),但我添加了原始问题,看看是否还有其他问题,但实际的问题是你提到的退格,结果是正确的
(
a
)