我有某种微型模板引擎,需要从任何 Uri treeUri = data.getData();
DocumentFile pickedDir = DocumentFile.fromTreeUri(MainActivity.this, treeUri);
DocumentFile mFile = pickedDir.createFile("text/plain", "Note");
OutputStream out = getContentResolver().openOutputStream(mFile.getUri());
out.write(infos.get(i).getContent().getBytes());
out.flush();
out.close();
事件之间的字符串中提取值。
我尝试用以下方法进行测试:
%{}%
但是当所需的输出应该为const EXTRACT_VALUES = /%{(.*?)}%/g
let testString = 'bla bla %{var1}% bla bla {var11} bla bla %{var22} bla bla %{{var33}}% bla bla %{var4}% bla bla %{ var5 }%'
let values = []
let field
while((field = EXTRACT_VALUES.exec(testString)) != null) {
values.push(field[1])
}
console.log(values)
时,我得到的输出为["var1", "var22} bla bla %{{var33}", "var4", " var5 "]
要实现此目标,我需要在RegExp中进行哪些更改?
答案 0 :(得分:3)
尝试不要在捕获元素中使用{
字符}
和[^{}]+
而不是一揽子捕获,这会使您获得的其他字符无效。
const EXTRACT_VALUES = /%{([^{}]+)}%/g