如果我有这个输入字符串:{post:[matt]}
我想获取“matt”当前所在的字符串,我会使用这个:
Pattern pattern = Pattern.compile("^\\{(.+):[(.+)]\\}$")
Matcher matcher = pattern.matcher("{post:[matt]}");
if(matcher.matches()) {
// pattern matches input string
String str1 = matcher.group(2);
但是如果我有一个像这样的字符串:{post:[matt,13-mar-2011,hello]}
如何获取字符串“matt”、“13-mar-2011”和“hello”——当它们的数量可能不同时?如果只有 3 个就很容易了。
最佳答案
你可以尝试查找功能,它应该找到下一个匹配项,下一个和下一个...... 我不知道你是否需要修改你的模式。
关于java - 使用正则表达式获取重复模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5292384/