使用Java使用正则表达式查找较大字符串的子字符串

如果我有这样的字符串:

FOO[BAR]

我需要一种从字符串中获取“ BAR”字符串的通用方法,以便无论方括号之间是什么字符串,都可以获取该字符串。

例如

FOO[DOG] = DOG

FOO[CAT] = CAT

回答:

你应该能够使用非贪婪的量词,特别是*?。你可能需要以下条件:

Pattern MY_PATTERN = Pattern.compile("\\[(.*?)\\]");

这将为你提供一个与你的字符串匹配的模式,并将文本放在第一组的方括号内。请查看Pattern API文档以获取更多信息。

要提取字符串,可以使用如下所示的内容:

Matcher m = MY_PATTERN.matcher("FOO[BAR]");

while (m.find()) {

String s = m.group(1);

// s now contains "BAR"

}

以上是 使用Java使用正则表达式查找较大字符串的子字符串 的全部内容, 来源链接: utcz.com/qa/418662.html

回到顶部