1 回答
TA贡献1772条经验 获得超8个赞
您可以在单字符运算符,和之前定义 the++和其他两个字符运算符,如+=or -=first 。如果我们遵循Operators 文档并添加所有 Java 运算符,那么正则表达式会因为转义而变得讨厌:+-=
Pattern pattern = Pattern.compile(
"\\+\\+|--|" + // ++ --
"\\+=|-=|\\*=|" + // += -= *=
"/=|%=|&=|\\^=|" + // /= %= &= ^=
"\\|=|<<=|>>>=|>>=|" + // |= <<= >>>= >>=
"<<|>>>|>>|" + // << >>> >>
"==|!=|<=|>=|" + // == != <= >=
"&&|\\|\\||" + // && ||
"\\+|-|~|!|" + // + - ~ !
"\\*|/|%|" + // * / %
"\\+|&|\\^|\\||" + // + & ^ |
"<|>|=|" + // < > =
"instanceof" // instanceof
);
Matcher matcher = pattern.matcher("for(;i<size;i++)");
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println(count);
但它会找到<并++打印 2。
请注意,这个正则表达式仍然不支持三元运算符? :。
添加回答
举报
