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);