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在实际表达式中没有空格。这确实是问题我没注意到。谢谢这确实是问题所在。我没注意到。谢谢