Java中正则表达式的错误在哪里?

Java中正则表达式的错误在哪里?,java,regex,Java,Regex,我希望我的操作符变量只匹配一次可能的操作符列表(“+”、“-”、“*”、“/”、“^”),所以我这样做了 operator.matches(Pattern.quote("[+-*/^]??")) 它不起作用。我做错什么了吗?模式。quote会引用您的全部输入。它不会神奇地忽略您的[]?,而只查看[]中的内容 你应该改用这个 operator.matches("[" + Pattern.quote("+-*/^") + "]??") 您的问题似乎出现在步骤1:使用正则表达式进行解析。

我希望我的
操作符
变量只匹配一次可能的操作符列表(“+”、“-”、“*”、“/”、“^”),所以我这样做了

operator.matches(Pattern.quote("[+-*/^]??"))

它不起作用。我做错什么了吗?

模式。quote
会引用您的全部输入。它不会神奇地忽略您的
[]?
,而只查看
[]
中的内容

你应该改用这个

operator.matches("[" + Pattern.quote("+-*/^") + "]??")

您的问题似乎出现在步骤1:使用正则表达式进行解析。