. Ini is the abbreviation of InitializationFile, that is, the initialization file. The ini file format is widely used in software configuration files. An INI file consists of segments, keys, values, and comments. According to node. js version node-iniparser, A Javascript function is rewritten to parse the content of the INI file and input the INI file... SyntaxHi
. Ini is the abbreviation of Initialization File, that is, the Initialization File. ini File format is widely used in software configuration files.
An INI file consists of segments, keys, values, and comments.
According to node. js version, node-iniparser has rewritten A Javascript function to parse the content of the INI file, input a string in INI format, and return a json object.
[Javascript]
Function parseINIString (data ){
Var regex = {
Section:/^ \ s * \ [\ s * ([^ \] *) \ s * \] \ s * $ /,
Param:/^ \ s * ([\ w \. \-\ _] +) \ s * = \ s *(.*?) \ S * $ /,
Comment:/^ \ s *;. * $/
};
Var value = {};
Var lines = data. split (/\ r \ n | \ r | \ n /);
Var section = null;
Lines. forEach (function (line ){
If (regex. comment. test (line )){
Return;
} Else if (regex. param. test (line )){
Var match = line. match (regex. param );
If (section ){
Value [section] [match [1] = match [2];
} Else {
Value [match [1] = match [2];
}
} Else if (regex. section. test (line )){
Var match = line. match (regex. section );
Value [match [1] = {};
Section = match [1];
} Else if (line. length = 0 & section ){
Section = null;
};
});
Return value;
}
Function parseINIString (data ){
Var regex = {
Section:/^ \ s * \ [\ s * ([^ \] *) \ s * \] \ s * $ /,
Param:/^ \ s * ([\ w \. \-\ _] +) \ s * = \ s *(.*?) \ S * $ /,
Comment:/^ \ s *;. * $/
};
Var value = {};
Var lines = data. split (/\ r \ n | \ r | \ n /);
Var section = null;
Lines. forEach (function (line ){
If (regex. comment. test (line )){
Return;
} Else if (regex. param. test (line )){
Var match = line. match (regex. param );
If (section ){
Value [section] [match [1] = match [2];
} Else {
Value [match [1] = match [2];
}
} Else if (regex. section. test (line )){
Var match = line. match (regex. section );
Value [match [1] = {};
Section = match [1];
} Else if (line. length = 0 & section ){
Section = null;
};
});
Return value;
}
Test INI content:
Returned result object: