Regex 正则表达式与带有e+;或e-
我想用正则表达式匹配任何数字。我写了这个表达式(为了可读性增加了空格): 这需要匹配以下表格之一中的任何数字:Regex 正则表达式与带有e+;或e-,regex,numbers,Regex,Numbers,我想用正则表达式匹配任何数字。我写了这个表达式(为了可读性增加了空格): 这需要匹配以下表格之一中的任何数字: 12345 12.345 .12345 12345. 12e-345或12e-345 12e+345或12e+345 它匹配前四个符号,但后四个(带有e-和e+)的符号)不匹配。我做错了什么?提前谢谢。也许这是最后的slashdot'\' 此外,没有*所以它只允许指数中有一个或两个数字 (\.[0-9])? )? 也许这是最后的slashdot'\' 此外,没有*所以它只允许指数
12345
12.345
.12345
12345.
或12e-345
12e-345
或12e+345
12e+345
它匹配前四个符号,但后四个(带有e-和e+)的符号)不匹配。我做错了什么?提前谢谢。也许这是最后的slashdot'\' 此外,没有*所以它只允许指数中有一个或两个数字
(\.[0-9])? )?
也许这是最后的slashdot'\' 此外,没有*所以它只允许指数中有一个或两个数字
(\.[0-9])? )?
您正在查找[eE]后面的1位数字。换衣服?到+
( ([0-9]+(\.[0-9]*)?) | (\.[0-9]+) )( (e|E)(\+|\-)[0-9]+(\.[0-9])+ )?
您正在查找[eE]后面的1位数字。换衣服?到+
( ([0-9]+(\.[0-9]*)?) | (\.[0-9]+) )( (e|E)(\+|\-)[0-9]+(\.[0-9])+ )?
关注表达的那一部分:
(e|E)(\+|\-)[0-9](\.[0-9])?
您只允许在
e | e
之后有一个数字,可以选择后跟一个
和另一个数字。关注表达式的该部分:
(e|E)(\+|\-)[0-9](\.[0-9])?
您只允许在
e | e
之后有一个数字,可以选择后跟
和另一个数字。,因为正则表达式与12.34e+4.5
格式的数字相匹配。[0-9](\[0-9])?
部分应更改为[0-9]+
( ([0-9]+(\.[0-9]*)?) | (\.[0-9]+) )( (e|E)(\+|\-)[0-9]+ )?
另请参见。,因为正则表达式与
12.34e+4.5形式的数字匹配。[0-9](\[0-9])?
部分应更改为[0-9]+
( ([0-9]+(\.[0-9]*)?) | (\.[0-9]+) )( (e|E)(\+|\-)[0-9]+ )?
另请参见。使用此:\d+[eE][+-]\d+\d+\.?\d*.\d+
使用此:\d+[eE][+-]\d+|\d+\?\d*|\。\d+
为可读性添加空格也会隐藏可能破坏内容的空格。@Wooble在实际表达式中没有空格。为可读性添加空格也会隐藏可能破坏内容的空格。@Wooble在实际表达式中没有空格。这确实是问题我没注意到。谢谢这确实是问题所在。我没注意到。谢谢