我正在尝试使用正则表达式从以下字符串[DOC TEXT] STARTS WITH [foo]中获取文本“ STARTS WITH”。我为此使用了以下代码。

String expertWhereClause = (String) formFields
                    .get(Constants.EXPERT_SEARCH_WHERECLAUSE);
            String delims = "\\[(.*?)\\]";
            String[] tokens = expertWhereClause.split(delims);


但是正在跟随字符串“ [,STARTS WITH]”。我只想要“ STARTS WITH”。

regex的新手,请在这里帮助我。

提前致谢

最佳答案

使用此正则表达式:

\]\s*([^\[]*?)\s*\[


您可能需要根据所使用的语言来转义反斜杠。
更新:对于Java,请转义反斜杠

\\]\\s*([^\\[]*?)\\s*\\[


在第一组中捕获所需的文本。

09-11 20:52