Javascript 如何使用mark.js regex突出显示正数或负数?

Javascript 如何使用mark.js regex突出显示正数或负数?,javascript,regex,Javascript,Regex,我试图使用mark.js库使用regex突出显示页面上的正数和负数。我遇到的问题是,虽然我可以突出显示正数,但不能突出显示负数。这是我的代码: var context = document.body; var instance = new Mark(context); instance.markRegExp(/\d*\.?\d+/); 这仅突出显示正数,不包括前导负数。例如,(使用粗体而不是突出显示)-32.2将突出显示为-32.2 我在网上查看过,并尝试按照Stackoverflow上其他地

我试图使用mark.js库使用regex突出显示页面上的正数和负数。我遇到的问题是,虽然我可以突出显示正数,但不能突出显示负数。这是我的代码:

var context = document.body;
var instance = new Mark(context);
instance.markRegExp(/\d*\.?\d+/);
这仅突出显示正数,不包括前导负数。例如,(使用粗体而不是突出显示)-32.2将突出显示为-32.2

我在网上查看过,并尝试按照Stackoverflow上其他地方的建议更改为
/^-?\d*\.?\d+/
,但这会从突出显示的列表中完全删除任何带负数的数字。所以像15.3这样的数字会很好地高亮显示,但是现在-32.2根本不会高亮显示


在突出显示负号和正号的同时,突出显示前导负号的正则表达式是什么?

像“+10.0”这样的数字呢?您应该同时检查+和-:

/[+-]?\d+(?:\.\d+)?/
此外,您应该将“.####”部分作为一个整体进行分组(非捕获),并将该组的
放在一起,然后从
\d+
开始,至少需要一位数字

您的正则表达式将匹配
-.00
(没有第一个数字)和
.0
,如果这是正确的,那么您可以这样使用您的正则表达式:

[+-]?\d*\.?\d+

摆脱插入符号。
^
好吧……我现在觉得自己很笨。完全忘了我在.facepalm中添加了它。如果你作为答案发帖,我将把解决方案归功于你。