我正在尝试使用Java正则表达式组在{{{#!MyTestMacro
和}}}
中获取任何内容,但无法到达那里。基本上,我想删除{{{#!MyTestMacro
和}}}
,它们包围其中的内容。
下面是我的代码段。
File file = new File("mytestfile.txt");
FileInputStream fis = new FileInputStream(file);
byte[] data = new byte[(int) file.length()];
fis.read(data);
fis.close();
String str1 = new String(data, "UTF-8");
String pattern = "\\{\\{\\{\\s*#!MyTestMacro(.*?)\\}\\}\\}";
Pattern r = Pattern.compile(pattern, Pattern.MULTILINE);
Matcher m = r.matcher(str1);
if (m.find()){
System.out.println("Found value: " + m.group(0));
System.out.println("Found value: " + m.group(1));
} else {
System.out.println("NO MATCH");
}
str1 = str1.replaceAll(pattern, m.group(1));
System.out.println(str1);
输入:
{{{#!MyTestMacro
My desired content.
My desired content2.
}}}
预期输出:
我想要的内容。我想要的内容2。