Koo*_*ord 3 javascript regex parsing
首先,我知道很多像这样的问题之前已经被问过了,但是我很难将我的头脑包裹在正则表达式中,所以如果可以,请尽量解释一下.
我有一个不断变化的字符串,它是: TOKEN (SwapToken) - 1005.00000127 TOKEN
只有数字发生了变化,它可能会变得很小1005.00000128或者变化1500.001,我创建了一个程序来在需要时提取字符串.唯一的事情是,我需要隔离/提取数字,或者可能提取字符串,然后创建另一个只包含数字的变量.
编码看起来会有所不同,因为这个数字会有变化吗?我怎么能完成只提取数字?正则表达式是最好的选择,我知道可能还有其他几个.
谢谢
这是一个你可以使用的简单正则表达式
/\d+\.\d+/g
虽然它会对您的输入做出假设.主要是它没有其他内容看起来像十进制数.
\ d表示任何数字(0 - 9)
\.表示文字句点(.)
+表示前面一个或多个字符
你需要反斜杠,因为在正则表达式中.意味着匹配任何角色,所以你必须逃脱它.
这个特殊的正则表达式通过查找看起来像一个或多个数字后跟"."的任何内容来查找看起来像十进制数的任何内容.后跟一个或多个数字.
let str = "TOKEN (SwapToken) - 1005.00000127 TOKEN"
let num = str.match(/\d+\.\d+/g)[0];
console.log(parseFloat(num))Run Code Online (Sandbox Code Playgroud)
这是一个可以测试正则表达式的站点.它有一些简洁的功能.并解释你的正则表达式在正确的方面做了什么
https://regex101.com/r/8RuY3A/1