javascript - 计算器中的正则表达式

标签 javascript regex expression

我正在处理一些使用正则表达式的代码。它适用于 Javascript 计算器。所有场景都有效,除了:

-number X number

负面影响是把所有东西都扔掉,我已经追踪到这个函数。通常,它会返回您在计算器屏幕上看到的内容。然而,当引入负数时,它返回 null。我不太擅长正则表达式,所以我希望有人能理解这一点?我怎样才能允许负面影响?

function(){
 return expr.match(/^\d{1,}(\.\d{1,})?[-+*/]\d{1,}(\.\d{1,})?$/);
}

谢谢!

最佳答案

这是您的正则表达式:

/^\d{1,}(\.\d{1,})?[-+*/]\d{1,}(\.\d{1,})?$/

让我们把它分开:

  • ^ 字符串以...开头
  • \d{1,}//一位或多位数字
  • (.\d{1,})?//后面跟着一个潜在的分数(点,然后是更多数字)
  • [-+*/]//后跟运算符
  • \d{1,}//后跟一位或多位数字
  • (.\d{1,})?//后面跟着一个潜在的分数(点,然后是更多数字)
  • $//字符串结束

所以,是的,您的正则表达式表示:“字符串必须以数字开头”。不带减号。如果添加 -?,则可以选择 (?) 允许减号 (-)。您需要将该部分插入到“字符串开头为”之后、第一个数字序列之前。

关于javascript - 计算器中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26068579/

相关文章:

javascript - 从 Javascript 检测 flash 插件

javascript - 从大 HTML 文件中提取 javascript 变量

ssis - 为 SSIS 派生列组合多个替换表达式

r - 如何在 expression() 中使用 atop 函数?

javascript - 通过 express 从 mongo 获取数据,构建对象,并发送给 React

javascript - 外部 javascript 文件无法在所有内容之上添加 div

javascript - 没有库的等效代码

regex - Sublime Regex 将下划线后的字符转换为大写,然后删除下划线

php - 警告 : preg_match() [function. preg-match]:编译失败:在偏移处没有可重复的内容

c++ - C++函数调用是表达式吗?