Javascript Regex在联机测试仪中工作,而不是在Typescript Regexp中

Javascript Regex在联机测试仪中工作,而不是在Typescript Regexp中,javascript,regex,typescript,Javascript,Regex,Typescript,我有以下正则表达式模式: let pattern = /([^\-\/\*\+]+)/g; 我正在分割数学公式的输入,以确保它们是有效的 我已经在和上测试过,它工作正常,但当我在TypeScript应用程序中运行它时,它不工作。假设输入是(收入-离职)*工作年限,我希望收到: ["(income ", " outgoing)", " years working"] 但我收到的却是 ["(income ", "(income "] 我没有得到什么 编辑: 这是运行模式。exec(str);而

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

let pattern = /([^\-\/\*\+]+)/g;
我正在分割数学公式的输入,以确保它们是有效的

我已经在和上测试过,它工作正常,但当我在TypeScript应用程序中运行它时,它不工作。假设输入是
(收入-离职)*工作年限
,我希望收到:

["(income ", " outgoing)", " years working"]
但我收到的却是

["(income ", "(income "]
我没有得到什么

编辑:
这是运行模式。exec(str);而不是str.match(模式);。一旦切换到str.match(模式);由于@FredG

它似乎起到了作用,它正在按预期工作。您是否尝试了
match
功能

let pattern=/([^\-\/\*\+]+)/g;
const str=“(收入-离职)*工作年限”;

log(str.match(pattern))旁注:您不需要转义正则表达式字符类中的大多数字符(破折号除外,但也可以不转义地移到最右边)。您可以添加如何在typescript中实现正则表达式吗?正则表达式应该有效谢谢!我正在运行let matchingItems=pattern.exec(str);