首页 > 解决方案 > 使用JS从等式中提取运算符和数字

问题描述

我正在开发一个 jQuery 计算器,它有一个实时显示,如下所示:

let liveDisplayString = $('#liveDisplay').val();
// ex. '42.5*30.6' or '7/2'

我试图通过运算符+、和分离数字-,然后将列表项分配给变量以用于计算。我还需要抓住运算符,所以我需要另一个表达式来忽略 1-9 和小数点。*/

我真的很难理解如何创建一个正则表达式以在.match().

PS 我对编程和 JS 语言还是很陌生

标签: javascriptjqueryregex

解决方案


您可以String#split与正则表达式一起使用来完成工作。

下面提取运算符+-和。*/

const value = '42.5*30.6+6-2/6';
const numbers = value.split(/[*]|[+]|[-]|[\/]/);
const operators = value.split(/[^-|+|\/|\*]/).filter(e => e);
console.log(numbers);
console.log(operators);


推荐阅读