私はこのようなコードを持っています:-
Pattern pattern = Pattern.compile("((\\{(.*?)\\}\\{)|(\\{(.*?)\\}$))");
final Matcher matcher = pattern.matcher(str);
int pos = 0;
while(true)
{
if(matcher.find(pos))
{
...
pos--;
}
else
break;
}
私が見ているのは、パターン一致が発生しない場合、matcher.find(pos) がブロックされることです。このブロッキングの性質を回避し、入力文字列に一致がない場合に出てくるようにする方法。