双引号的Java正则表达式

时间:2011-12-08 13:29:50

标签: java regex

我必须使用正则表达式检查字符串:

String a = "ABC(hello) or DEF("indianbatsmen") or GHK(welcome);

在这里,我将不得不检查字段DEF是否有双引号。

我尝试过:

if(!a.contains("DEF(\"w\")")){ }

它没有用。

2 个答案:

答案 0 :(得分:2)

试试这个:

boolean foundMatch = false;
Pattern regex = Pattern.compile("\\bDEF\\(\"[^\"]+\"\\)\\s+");
Matcher regexMatcher = regex.matcher(subjectString);
foundMatch = regexMatcher.find();

如果您的字符串包含转义引号,则不会失败

答案 1 :(得分:0)

看起来您已经尝试使用\w的正则表达式语法 - 但您可能希望它是\w+(如果引号之间至少需要一个字符)或{{ 1}}(如果允许0个或更多字符)。您还希望使用\w*转义括号。

接下来,您只需要使用正则表达式方法。 \(只是进行简单的字符串搜索。使用.containsPattern类将有助于此处。