Javascript 一个字符串或模式的正则表达式

Javascript 一个字符串或模式的正则表达式,javascript,regex,pattern-matching,Javascript,Regex,Pattern Matching,我正在尝试以以下格式为行编写regent: 整数;人物等;十进制数;十进制数;十进制的 数量;人物等 例如: 9898;ABCD-eft;9809.98078;9878.876;8768.654;ABCD 为此,我写了一篇很好的文章: /[0-9]*;(.)*;[0-9\.]*;[0-9\.]*;[0-9\.]*;(.)/gi 现在,这个问题是,在十进制数字的位置可能有N.A.,我无法正确地找到它的参考号。您可以使用它。此外,还可以稍微改进正则表达式-例如,[^;]*比*更具体,可以避免重复,

我正在尝试以以下格式为行编写regent:

整数;人物等;十进制数;十进制数;十进制的 数量;人物等

例如:

9898;ABCD-eft;9809.98078;9878.876;8768.654;ABCD

为此,我写了一篇很好的文章:

/[0-9]*;(.)*;[0-9\.]*;[0-9\.]*;[0-9\.]*;(.)/gi
现在,这个问题是,在十进制数字的位置可能有N.A.,我无法正确地找到它的参考号。

您可以使用它。此外,还可以稍微改进正则表达式-例如,
[^;]*
*
更具体,可以避免重复,并且不需要转义字符类中的点:

/[0-9]*;[^;]*;(?:N\.A\.;|[0-9.]*;){3}.*/gi

十进制数字的位置可以有N.A.
,请给出一个例子。
([0-9\.]+)|(N\.A\)
可以,但您可能需要重构其中的一部分以使用
\d
,并且您允许数字的空值可能不是您想要的值。和
()
将不匹配
ABCD
如果您在输入中发现NA与预期的数字不匹配,您希望发生什么?换句话说,您是否希望过滤NA,是否希望抛出错误,是否希望忽略特定的数据实例,等等。