慕雪6173905
这是我上交的。(([1-9]+\.[0-9]*)|([1-9]*\.[0-9]+)|([1-9]+))([eE][-+]?[0-9]+)?为了便于讨论,我将这些部分标记为( ([1-9]+ \. [0-9]* ) | ( [1-9]* \. [0-9]+ ) | ([1-9]+)) ( [eE] [-+]? [0-9]+ )? -------------------------------------------------------- ---------------------- A BA:将所有内容匹配到“ e / E”B:匹配科学计数法分解A我们得到三个部分 ( ([1-9]+ \. [0-9]* ) | ( [1-9]* \. [0-9]+ ) | ([1-9]+) ) ----------1---------- ---------2---------- ---3----第1部分:允许小数点后的1-9,十进制,0个或多个数字(目标1)第2部分:允许小数点后的1-9,十进制,0个或多个数字(目标1)2)第3部分:允许1-9中的1个或多个数字,不带小数(请参阅目标列表中的#4)分解B我们得到4个基本部分 ( [eE] [-+]? [0-9]+ )? ..--1- --2-- --3--- -4- .. 第1部分:要求科学表示法使用大写或小写的“ e”(例如目标8和9);第2部分:允许对指数使用可选的正号或负号(例如目标4、5和6)。第3部分:允许1或指数的更多数字(目标8)第4部分:允许科学记号作为一个组是可选的(目标3)