我正在尝试使用正则表达式从以下字符串[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*\\[
在第一组中捕获所需的文本。