Java 是什么导致这两个正则表达式的工作方式不同?
我在Java计算器程序中使用以下正则表达式来标记输入:Java 是什么导致这两个正则表达式的工作方式不同?,java,regex,Java,Regex,我在Java计算器程序中使用以下正则表达式来标记输入: ((?在[(+/*-^]中,*-^匹配*到^范围内的字符,这是您的问题 但是当您编写[(^+/*-]时,它与(,^,+,/,*或-中的一个匹配 更清楚的例子: [12a-z]将匹配1、2或a和z之间的字符 [12az-]匹配1,2,a,z或-
((?在[(+/*-^]
中,*-^
匹配*
到^
范围内的字符,这是您的问题
但是当您编写[(^+/*-]
时,它与(
,^
,+
,/
,*
或-
中的一个匹配
更清楚的例子:
[12a-z]
将匹配1
、2
或a
和z
之间的字符
[12az-]
匹配1
,2
,a
,z
或-