匹配特殊数字数据的Javascript regexp模式
我需要一个JavaScript代码中的regexp模式来识别以下文本匹配特殊数字数据的Javascript regexp模式,javascript,regex,numbers,Javascript,Regex,Numbers,我需要一个JavaScript代码中的regexp模式来识别以下文本 123 1.23 1.23e4 1.23d4 123_txt 1.23_txt 1.23e4_txt JavaScript代码从文件中读取这些数据,并应使用rexexp模式进行计算 匹配上述数据的简单regexp模式是什么?您的regex[+-]?[0-9][0-9+]*\.[0-9de+-]*与123和123\u txt不匹配,因为这些值不包含点\.这在您的regex中不是可选的 您可以将点设置为可选的\?,但随后您必须解
123
1.23
1.23e4
1.23d4
123_txt
1.23_txt
1.23e4_txt
JavaScript代码从文件中读取这些数据,并应使用rexexp模式进行计算
匹配上述数据的简单regexp模式是什么?您的regex
[+-]?[0-9][0-9+]*\.[0-9de+-]*
与123
和123\u txt
不匹配,因为这些值不包含点\.
这在您的regex中不是可选的
您可以将点设置为可选的\?
,但随后您必须解释最后两个示例中的下划线\uu
,以及缺少的txt
,它不是正则表达式的一部分
您可以做的是更新您的正则表达式以匹配字符串开头的一个或多个数字^[0-9]+
,并在数字后设置两个模式,如.23e4
和\u txt
您的示例不包含前导的+
或-
,因此您可以从一开始就省略[+-]?
。(您可以随时添加它)
对于示例值,您可以尝试:
解释
在行首断言位置^
匹配一个或多个数字[0-9]+
非捕获组(?:
匹配一个点、一个或多个数字、可选的\.[0-9]+[de]?[0-9+]
或d
,然后匹配一个或多个数字e
关闭非捕获组并将其设置为可选)?
与(?:_-txt)?
_-txt匹配的可选非捕获组
在行尾断言位置$