Javascript 正则表达式替换,多行

2024-07-01

我有一些文本内容(使用 jQuery 从 HTML 读取),看起来像以下示例之一:

<span>39.98</span><br />USD

或跨多条线支付额外费用,例如:

<del>47.14</del>

    <span>39.98</span><br />USD

数字的格式可以是这样的

  • 1,234.99
  • 1239,99
  • 1 239,99

等等(即不仅仅是普通的十进制数)。我想做的是获取里面的任何值<span></span>.

这是我到目前为止所想到的,但是我在使用多行方法时遇到了问题,而且事实上可能有两个数字,而我想忽略第一个数字。我尝试过使用 ^ 和 $ 以及“m”多行修饰符的变体,但没有运气。

var strRegex = new RegExp(".*<span>(.*?)</span>.*", "g");

var strPrice = strContent.replace(strRegex, '$1');

如果有一种方法可以将 span 标记定位到字符串内(即它不是我们此时处理的 DOM),我可以在这里使用 jQuery。


您可以先从字符串中删除所有换行符,然后运行正则表达式:

strContent = strContent.replace(/(\r\n|\n|\r)/gm,"");
var strRegex = new RegExp(".*<span>(.*?)</span>.*", "g");
var strPrice = strContent.replace(strRegex, '$1');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 正则表达式替换,多行 的相关文章

随机推荐