小编JmG*_*JmG的帖子

为什么在Java中使用正则表达式会在运行时抛出"Unclosed character class"异常?

我有关键字列表:

String[] keywords = {"xxxx", "yyyy", "zzzz"};
String[] another = {"aaa", "bbb", "ccc"};
Run Code Online (Sandbox Code Playgroud)

我正在尝试识别其中一个关键字后面跟一个空格然后跟着一个"另一个"字的文本.

如果我使用:

Pattern pattern = Pattern.compile(keywords+"\\s"+another);
Run Code Online (Sandbox Code Playgroud)

这会在运行时抛出异常:

Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 57
[Ljava.lang.String;@3dd4ab05\s[Ljava.lang.String;@5527f4f9
                                                         ^
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

java regex pattern-matching

1
推荐指数
1
解决办法
178
查看次数

标签 统计

java ×1

pattern-matching ×1

regex ×1