抓取值不在引号之间(正则表达式)

时间:2015-10-26 02:41:31

标签: regex

我想在引文之外取词,例如,如果我有这个文字:

  xxxx xxx OK xxxxx "xxx OK xxxx" 

我想在引文之外取“OK”,这意味着第一个 我做了这个正则表达式

  [ ]OK[ ]

但它取得了两者。那么如何才能在正则表达式的引号之外获取?

1 个答案:

答案 0 :(得分:1)

您可以使用图像组和正则表达式交替运算符的组合。

"[^"]*"|( OK )

现在,组索引1包含<space>OR<space>,它存在于双引号部分之外。

代码:

Matcher m = Pattern.compile("\"[^\"]*\"|( OK )").matcher(s);
while(m.find())
{
System.out.println(m.group(1));
}