我有一本字典(例如英语 - 克罗地亚语).它可能包含句子和短语.我正在将表单文件"english text" = "english text"
转换为表单"english text" = "croatian text"
并使用python regex模块来执行此操作.我正在使用的正则表达式看起来像这样(给定变量原始,这是英文文本应该翻译:
regexString = '(?<= = ")'+original+'(?=")'
Run Code Online (Sandbox Code Playgroud)
这样我就可以准确地捕获右侧引号内的英文文本,并用克罗地亚语替换它.但是,如果原始文本包含内部括号,则会出现此问题.例如:
original = 'This is a wonderland :)'
Run Code Online (Sandbox Code Playgroud)
在这种情况下,引发错误"不平衡的括号".如果原始版本是硬编码的,我可以通过放置来解决问题
original = 'This is a wonderland :\\)'
Run Code Online (Sandbox Code Playgroud)
但是,整个文件中都有*原始*变量.
除了通过在反斜杠前面的所有括号中更改原始变量之外,有没有解决这个问题的方法?
我正在尝试使用frama-c验证以下代码
/*@ ensures \result != \null;
@ assigns \nothing;
@*/
extern int *new_value();
//@ assigns *p;
void f(int* p){
*p = 8;
}
//@ assigns \nothing;
int main(void){
int *p = new_value();
f(p);
}
Run Code Online (Sandbox Code Playgroud)
证明者无法证明主要指定\没有,这是有道理的,因为主要通过函数f分配给*p .但是,我应该如何在\ assigns子句中声明,因为p是局部变量,并且无法在注释中访问.