Java正则表达式预定义字符类?

6

我有这个正则表达式,它试图将预定义的字符类\s,组合起来:

String rgx = "[^\s,]"

但是我得到一个错误,指出\s是不合法的转义字符。如果我双斜杠\s,那么字符类将被解释为反斜杠和字母's'。我该怎么办?


“我不能双反斜杠\,因为如果这样做,字符类将被解释为一个反斜杠和字母's'。你确定吗?你能展示一下你测试过了吗?” - Pshemo
“它将被解释为反斜杠和字母's'”,你确定吗?在Java中组合正则表达式需要双重思考...嗯,我的意思是双重转义...因此,为了表示单个反斜杠以进行精确匹配,您需要使用\\\\ - ppeterka
你想匹配什么?建议的正则表达式似乎是要匹配“任何非空格和非,字符”。这是你想要实现的吗? - ppeterka
抱歉,我的假设是错误的,实际上可以使用双反斜杠\来转义字符s。 - George Newton
1个回答

8
在Java中,您必须双重转义预定义的类。
String rgx = "[^\\s,]";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接