javascript - 正则表达式适用于在线测试器,不适用于 Typescript Regexp

标签 javascript regex typescript

我有以下正则表达式模式:

let pattern = /([^\-\/\*\+]+)/g;

我正在拆分数学公式的输入以确保它们有效。

我已经在 https://www.regextester.com/ 上测试过这个和 https://regex101.com/它工作正常,但当我在 TypeScript 应用程序中运行它时,它无法工作。假设输入是(收入 - 支出)*工作年数我期望收到:

["(income ", " outgoing)", " years working"]

但我收到的是

["(income ", "(income "]

我没有得到什么?

编辑: 这是正在运行的pattern.exec(str);而不是 str.match(pattern);。一旦交换到 str.match(pattern);感谢@FredG,它正在按预期工作

最佳答案

这似乎有效。您尝试过match功能吗?

let pattern = /([^\-\/\*\+]+)/g;

const str = "(income - outgoing) * years working";

console.log(str.match(pattern));

关于javascript - 正则表达式适用于在线测试器,不适用于 Typescript Regexp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48298750/

相关文章:

javascript - 无法从不同的 WebApp (Tomcat) 获取图像/JS

javascript - 将 JavaScript 侧边导航菜单更改为从右到左动画

javascript - Chartjs 嵌套饼图/ donut chart

Python正则表达式用于检测除某些域之外的所有URL

java - 电子邮件地址验证与发送邮件进行激活?

reactjs - 类型 'hot' 中缺少属性 'Module'

jquery - 类型 "JqueryStatic"的值不可调用

javascript - 有没有办法找到最接近的非标签且没有类的元素

具有可选扩展名的 C++11 正则表达式捕获文件名

javascript - 新 Node Tools Express App 项目中的 Intellisense 错误