Имам нужда от java шаблон за низ, който не е ограничен от символ.
Имам низ (както е споменато по-долу), с някои къдрави скоби, ограничени от единични кавички, и други къдрави скоби, които не са. Искам да заменя фигурните скоби, които не са ограничени от единични кавички, с друг низ.
Оригинален низ:
this is single-quoted curly '{'something'}' and this is {not} end
Трябва да се преобразува в
this is single-quoted curly '{'something'}' and this is <<not>> end
Забележете, че фигурните скоби { }, които не са ограничени с единични кавички, са заменени с ‹‹ >>.
Моят код обаче отпечатва (характерът се изяжда) текста като
this is single-quoted curly '{'something'}' and this is<<no>> end
когато използвам модела
[^']([{}])
Моят код е
String regex = "[^']([{}])";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
if ( "{".equals(matcher.group(1)) ) {
matcher.appendReplacement(strBuffer, "<<");
} else if ( "}".equals(matcher.group(1))) {
matcher.appendReplacement(strBuffer, ">>");
}
}
matcher.appendTail(strBuffer);