我有一个手动维护的属性列表,它定义了相同类型的对象数组。对象具有许多属性,其中一个属性是正则表达式字符串。一些对象共享一个共同的正则表达式,我的问题是我必须在文件的多个位置维护相同的正则表达式,这很容易出错。
有没有办法定义一次正则表达式并使用变量替换来确保它在plist中的正确对象上设置?
答案 0 :(得分:2)
如果没有一个属性并且必须确定何时进行替换,那么你有两个属性。一个是"regex"
,您当前正在使用,另一个是"namedRegex"
。在plist的另一部分中,您可以定义所有命名的正则表达式。
"namedRegexes" = {
"regex1" = ".*";
"regex2" = "[0-9]*";
…
}
…
"objects" = {
"object1" = {
"regex" = "[A-Z]*";
…
};
"object2" = {
"namedRegex" = "regex1";
…
}
…
}
在运行时,您需要查找正则表达式,如果不存在,则查找namedRegex。如果有namedRegex,则在namedRegexes中查找该名称。