Javascript 什么是'|e';在RegExp中

Javascript 什么是'|e';在RegExp中,javascript,regex,Javascript,Regex,在下一行中,“e”的目的是什么?我试着查找它,但找不到它,当它不在那里的时候,这条线仍然可以做它应该做的事情 pattern = /([\+|\-]?[\d]+[\.][\d|\-|e]+)[ ]+([\+|\-]?[\d]+[\.][\d|\-|e]+)[ ]+([\+|\-]?[\d]+[\.][\d|\-|e]+)/g; 编辑: 下面是代码正在解析的示例 -3.424999 -0.855454 2.257396 -1.484919 0.665606 -3.151304 1.63684

在下一行中,“e”的目的是什么?我试着查找它,但找不到它,当它不在那里的时候,这条线仍然可以做它应该做的事情

pattern = /([\+|\-]?[\d]+[\.][\d|\-|e]+)[ ]+([\+|\-]?[\d]+[\.][\d|\-|e]+)[ ]+([\+|\-]?[\d]+[\.][\d|\-|e]+)/g;
编辑:

下面是代码正在解析的示例

-3.424999 -0.855454 2.257396 
-1.484919 0.665606 -3.151304 
1.636841 -0.848154 -0.458954 
3.732041 0.187906 -1.319734 
-1.756719 0.682006 0.807596 
0.911641 -0.828054 3.040696 
-0.218059 -0.489374 -3.806524 
-1.078099 0.891706 -2.420454 

通常,一个
|
会提供可选选项,因此
(一个|两个)
匹配一个或两个选项

然而,将
|
放在
[]
中表示有人不了解
[]
是如何工作的(它们匹配其中任何字符的一个实例或一个范围,因此
[a-z]
匹配a或b或c

我猜想,除非您在匹配的字符串中有
,否则您可以从模式中删除所有出现的
,它仍然可以工作。但是如果没有看到它应该匹配的字符串类型的一些示例以及您想要捕获的内容,就很难了解更多信息

(编辑):现在您已经提供了一个示例,如果我正在解析它,我将使用

/([+-]?\d+\.\d+)\s([+-]?\d+\.\d+)\s([+-]?\d+\.\d+)/
如果您希望能够接受表格1.234e56中的数字,则此项将更改为

/([+-]?\d+\.\d+(e[+-]?\d+)?)\s([+-]?\d+\.\d+(e[+-]?\d+)?)\s([+-]?\d+\.\d+(e[+-]?\d+)?)/

(以上假设始终有一个小数点)

通常,一个
会提供可选选项,因此
(一个|两个)
匹配一个或两个

然而,将
|
放在
[]
中表示有人不了解
[]
是如何工作的(它们匹配其中任何字符的一个实例或一个范围,因此
[a-z]
匹配a或b或c

我猜想,除非您在匹配的字符串中有
,否则您可以从模式中删除所有出现的
,它仍然可以工作。但是如果没有看到它应该匹配的字符串类型的一些示例以及您想要捕获的内容,就很难了解更多信息

(编辑):现在您已经提供了一个示例,如果我正在解析它,我将使用

/([+-]?\d+\.\d+)\s([+-]?\d+\.\d+)\s([+-]?\d+\.\d+)/
如果您希望能够接受表格1.234e56中的数字,则此项将更改为

/([+-]?\d+\.\d+(e[+-]?\d+)?)\s([+-]?\d+\.\d+(e[+-]?\d+)?)\s([+-]?\d+\.\d+(e[+-]?\d+)?)/

(以上假设始终有一个小数点)

[\d| \-\e]
似乎很奇怪:它是数字、管道、破折号、管道或e。将管道放置两次是没有用的


我认为这应该是
[\d \-e]
,如果目的是允许数字、破折号或e,而不是管道。

[\d \-\e]
似乎很奇怪:它是数字、管道、破折号或管道或e。两次放置管道是没有用的


我认为这应该是
[\d \-e]
如果目的是允许数字、破折号或e,而不是管道。

这种模式很奇怪。它似乎不是最优的。我怀疑它是否能按预期工作。这个正则表达式的目的是什么?代码来自Doob先生的VTKLoader.js。它接收一个VTK文件并对其进行解析。
[\d \-e]+
表示数字、管道、破折号、管道或“e”,至少有一次。看起来正则表达式正在寻找科学符号(+3.1234-e)…这种模式很奇怪。它似乎不是最优的。我怀疑它是否能按预期工作。该正则表达式的目标是什么?代码来自Doob先生的VTKLoader.js。它接收一个VTK文件并对其进行解析。
[\d| \-|e]+
表示数字、管道、破折号、管道或“e”,至少一次。看起来正则表达式正在寻找科学符号(+3.1234-e)…将
两次放在
[]
组中几乎肯定表示混淆。将
两次放在
[]
group几乎肯定表示混淆。