我有以下正则表达式模式:
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/