我想在SCRIPT中使用正则表达式替换。该代码在texstudio中有效。
%SCRIPT
text = app.clipboard
text = text.replace(/{([^}])}{([^}])}{not}/g, "\1\2{not}")
cursor.insertText(text)
我希望{match1} {matchb} {not} {anotb}的输出为match1matchb {not} {anotb},但实际输出为{not} {anotb}。此代码在texstudio中有效。万分感谢!
最佳答案
将您的正则表达式更改为不包含括号{}
,并改用replace
的回调参数:
const str = "{match1}{matchb}{not}{anotb}";
const res = str.replace(/{(.*?)}{(.*?)}{not}/g, (_, m1, m2) => `${m1}${m2}{not}`);
console.log(res);
关于javascript - 有什么办法可以在texstudio中使用此脚本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57779911/