Java SOQL查询字符串的正则表达式

Java SOQL查询字符串的正则表达式,java,regex,salesforce,Java,Regex,Salesforce,我有以下SOQL查询: 选择描述,选择姓名,联系人Id,帐户。姓名,从帐户联系人Id 我想在java中应用正则表达式来提取以下内容- 从帐户中选择描述、帐户.名称根据给定表达式定制的快速解决方案: String query = "SELECT Description,(Select Name,Id from Contacts) , Account.Name, (Select Id from Contacts) from Account"; // Remove all subqueries (t

我有以下SOQL查询:

选择描述,选择姓名,联系人Id,帐户。姓名,从帐户联系人Id

我想在java中应用正则表达式来提取以下内容-


从帐户中选择描述、帐户.名称

根据给定表达式定制的快速解决方案:

String query = "SELECT Description,(Select Name,Id from Contacts) , Account.Name, (Select Id from Contacts) from Account";

// Remove all subqueries (things in parenthesis)
// Remove doubled commas (even with space in between)
// Remove a comma before the from
String answer = query
    .replaceAll("\\(.*?\\)", "")
    .replaceAll(",\\s*,", ",")
    .replaceAll(",\\s*from", " from");

我不太明白-您想从SQL查询本身提取一个常量字符串吗?或者这只是一个要在许多查询中应用的正则表达式的示例?