0

我有一个这样的字符串:

String unparsed = "[thing.1][thin2g]"

我想把它变成

"thing.1"
"thin2g"

用正则表达式尝试了一段时间,但没有。有什么想法吗?谢谢!

编辑:

试过:

String unparsed = "[thing.1][thin2g]"
String substring = unparsed.substring(1,unparsed.length - 1)
substring.replace("][","`")
String[] split = substring.split('`')
for(int i=0;i<split.length;i++)
{
   System.out.println(split[i])
}

但这似乎有点重,正在寻找更优雅的东西

4

2 回答 2

1
String unparsed = "[thing.1][thin2g]";
Pattern pattern = Pattern.compile("\\[(.*?)\\]");
Matcher matcher = pattern.matcher(unparsed);
while(matcher.find()){
    System.out.println(matcher.group(1));
}

我的正则表达式不好。但它确实将字符串解析为你想要的。

于 2013-08-14T02:00:23.090 回答
0
\[\s*\w.*?\]

我以前从未使用过正则表达式,但这个应该可以

于 2013-08-14T01:59:21.593 回答