用Java提取值的模式

all*_*nex 1 java regex

我有各种各样的字符串,如下所示:

Status-Active
Status-Inactive 10
Run Code Online (Sandbox Code Playgroud)

我想只获得状态为"活动"和"非活动"而没有空格和数字.

我试过(?<=-)\S+并在一个网站上工作,但在Java中做同样的事情却找不到任何东西.

private final Pattern reg = Pattern.compile("(?<=-)\\S+");
...
Matcher m = reg.matcher(status);
if(m.matches())
    status = m.group(0);
Run Code Online (Sandbox Code Playgroud)

spr*_*ter 5

我建议你有一个尽可能接近匹配字符串的模式.

Pattern patter = Pattern.compile("Status-(Active|Inactive)");
Run Code Online (Sandbox Code Playgroud)

然后使用组1查找状态字符串.