JavaScript 不支持正向回顾

标签 javascript .net regex lookbehind

我在.Net中有以下正则表达式

(?<=Visitors.{0,100}?"value">)[0-9,]+(?=</div>)

和以下文本

<div class="text">Visitors</div> <div class="value">14,000,000</div>
<div class="text">VisitorsFromItaly</div> <div class="value">15,200</div>

我在正则表达式中指定“Visitors”或“VisitorsFromItaly”,然后我得到特定数量的访客数。

我想在 javascript 中执行此操作,但不使用任何 .replace 方法。我只需要一个简单的 javascript 正则表达式。我是 javascript 正则表达式的新手,所以我不知道如何转换它。它说 javascript 不支持lookbehind,这就是我的 .Net 正则表达式工作的原因。

如有任何帮助,我们将不胜感激。预先非常感谢!!!

最佳答案

我不确定我是否理解您的意思...您真的需要后向断言吗?

你不能像下面这样匹配吗?

myRegex = /Visitors.{0,100}"value">([0-9,]+)/; // or with /g modifier on the end?
myMatches = myRegex.exec(stringToMatch);

myMatches[0] 包含整个匹配的字符串。 myMatches[1] 及更高版本将包含第一个、第二个等捕获组,在正则表达式中用括号表示。在本例中,myMatches[1] 包含该数字。

由于您似乎不需要在数字之前匹配任何其他内容(除了访问者等),因此我认为您根本不需要后向断言。

关于JavaScript 不支持正向回顾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1272765/

相关文章:

php - 正则表达式替换网页中的单词

javascript - 如何在jquery中使用替换和正则表达式在大写字符之前插入空格

javascript - 有没有办法为丢失的 srcset 图像提供后备?

javascript - JQuery 在粘贴到控制台时有效,但在页面加载时无效

javascript - 阐明我对一些 JavaScript 的理解

c# - 来自 Swagger 和 CaSTLeWindsor 的 Azure 运行时错误

javascript - 正则表达式替换数字之间的空格

.net - BackgroundWorker 类如何在 UI 线程上触发其事件?

c# - 在 C# 中使用 SSH.NET 执行多个依赖的 SSH 命令

java - 正则表达式多重负前瞻