有人能解释一下这个正则表达式是做什么的吗?

Can someone explain what this regex do?

本文关键字:正则表达式 什么 能解释 一下      更新时间:2023-09-26

这是javascript应该观察一些价格和匹配的代码的一部分,如果它比需要的情人,但我不太理解正则表达式,很明显,错误就在那里。

在一个网站上,我有像

这样的价格
<div class="item_price_now">   $ 1,34 </div>

在javascript部分代码看起来像这样

var maxprice = '0.98';
var itemprice = document.getElementByClassName('item_price_now');
var i = 0;
var currentprice = itemprice[i].innerHTML.replace(/'s+/g, ' ');
currentprice = currentprice.substring(2);
if (currentprice > maxprice)
{ do some code }
else 
{ do some other code }

但是这不起作用,我假设错误的一部分是在正则表达式中,有了这个,我没有得到任何值,我试图把它改成这样的

('S+'w)

它正在输出一些东西(实际上我得到的输出是1,34),但仍然不能与maxprice变量匹配。

有人能解释一下上面的regex是什么意思,或者至少给我指出一些方向。谢谢。

/'s+/g表示"匹配在整个字符串中重复一次或多次的任何空格/制表符"。

因此,它用单个空格替换任何多个空白/制表符。

似乎您的问题是您使用区域设置字符串来描述您的值,因为您正在比较字符串0.98(由JS强制转换)与1,34(其中不能由JS强制转换,因为,将是千个分隔符)