Javascript 正则表达式匹配返回末尾带有逗号的字符串

标签 javascript regex

正如标题所说...我正在尝试解析一个字符串

2x + 3y

我试图只获取系数(即 2 和 3)

我首先用空格字符作为分隔符来标记它,给我“2x”“+”“3y”

然后我再次将其解析为该语句以仅获取系数

var number = eqTokens[i].match(/(\-)?\d+/);

我尝试打印输出,但它给了我“2”,

为什么打印成这样,我该如何解决?我尝试使用:

number = number.replace(/[,]/, "");

但这只会给我一个错误,即 number.replace 不是函数

最佳答案

这有什么问题吗?

> "2x + 3y".match(/-?\d+(?=[A-Za-z]+)/g)
[ '2', '3' ]

上述正则表达式仅当数字后跟一个或多个字母时才会匹配数字。

关于Javascript 正则表达式匹配返回末尾带有逗号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27097762/

相关文章:

javascript - 遍历 JavaScript 中的对象并检查其属性

javascript - 每个页面的 jQuery 选择器都不同

c++ - 为什么 std::regex_match 不使用 $ 模式返回 true?

java - 尝试读取文件时正则表达式匹配失败(Java 中的 SIC 汇编器)

r - 将文本文件中的谷歌评论转换为 rmarkdown 脚注

javascript - 更新项目后,Angular 2 Chart.js 和 NG2-Charts 未绑定(bind)数据对象

javascript - 警告 : Failed prop type: The prop `value` is marked as required in `TextInput` , 但其值为 `undefined`

ios - NSRegularExpression 内存占用

java - '(number)' 的正则表达式

javascript - 如何获取符号名称(文字)?