我正在为python编写连接字符串解析器/格式化程序,我遵循以下语法规则:
http://www.connectionstrings.com/formating-rules-for-connection-strings/
it
表示整个值 但是如果需要引用一个值(例如由于;
)会发生什么情况,并且它自身包含'
和"
??
例如:
Key1=Value1;Keyw="ab;'"lol";
如果一个值以引号开头,我必须将内容扫描为文字直到相同类型的下一个引用,但事实证明下一个引用它仍然是值的一部分,字符串文字结束一些字符后来。如果用单引号引用该值,则问题将是相同的。
同样,如果关键字包含=
符号,我发现了另一个歧义。规则说应该加倍。只要此等号不在关键字的末尾,此机制就可以正常工作。因为我们有:
Key1===jkn23;
无法知道键值对是(Key1
,==jkn23
)还是(Key1=
,jkn23
)
如果有适当的逃生系统,生活会很容易......