【【【求精简一个万恶的正则表达式】】】
//这个表达式用于解析等号(=)两边的串,规则如下:
// 1、在输入串中等号(=)可以出现多次,其中第一次出现位置做为分界符,其它将视为结果串的一部分
// 2、输入串首尾可以出现多个空格或制表符,但不会视为结果串的一部分
// 3、串中不处理双引号,若出现双引号将被视为结果串的一部分
// 4、左、右串允许出现多个词/字(串中允许有空格或制表符,但首尾将被忽略),且支持中文
// 5、左串不允许为空串(仅含有空格或制表符将将视为空串)
// 6、右串可以为空串
// 7、井号键(#)为注释开始符,只允许出现在输入串首(串首空格、制表符不计)或第一个等号后
// 8、输入串有部分编码过的信息,其中会包含任意字符(所有非\0字符)
//
//表达式如下:
//
// boost::wregex re(
// L"^"
// L"[ \\t]*"
// L"([^ #=\\t\\n\\r]+|[^ #=\\t\\n\\r]+[^#=\\n\\r]*[^ #=\\t\\n\\r]+)" // 返回左串
// L"[ \\t]*"
// L"="
// L"[ \\t]*"
// L"([^ #\\t\\n\\r]*|[^ #\\t\\n\\r]+[^\\n\\r]*[^ #\\t\\n\\r]+)" // 返回右串
// L"(?:[ \\t]*(?:[#\\n\\r]+\\s*\\S*|[#\\n\\r]*))"
// L"[ \\t]*"
// L"$" );
//
//
//测试数据如下:
//
// input string regex_match wcmatch[1] wcmatch[2]
// --------------------------------------------------------------------------------------------------------------
// "a=" true "a" ""
// "ab=" true "ab" ""
// " \ta b c \t= \t" true "a b c" ""
// " \t中文 Hello world 中 文 ,。\t = \t" true "中文 Hello world 中 文 ,。" ""
// "\na=" false - -
// "a=b" true "a" "b"
// "a\n=" false - -
// "a=\n" true "a" ""
// "a= \n " true "a" ""
// "a=b \n " true "a" "b"
// "a= \n some" true "a" ""
// "a=b\n" true "a" "b"
// "a=\nb" true "a" ""
// "a= \ta b c\t\n\r" true "a" "a b c"
// "a= \ta b c\t\n\rsome" true "a" "a b c"
// "a==" true "a" "="
// "\"a==\"b" true "\"a" "=\"b"
// "=" false - -
// " \t=" false - -
// "#abc=" false - -
// " \t#abc=" false - -
// "a#bc=" false - -
// "a=#b" true "a" ""
// "a= # b" true "a" ""
// "a=b##" true "a" "b"
// "a=b#\n" true "a" "b"
// "a=b#\nsome" true "a" "b"