javascript - 正则表达式小组赛

标签 javascript jquery regex

我在工作

<div class="entry">The company with Co. Reg. No 1241515 will...</div>

如何匹配类似 Co. Reg. No <number> 的任何内容在 div.entry并添加一个指向整个短语的链接,其中链接包含数字?

这就是我到目前为止所得到的......

$( "div.entry" ).html(function() {
  var re = /(Co\. Reg\. No ([d]+))/;
  html = $(this).html().replace(re, "<a href='http://companylookup.com/$1'>" + $0 + "</a>");
  return html;
});

但它不起作用 - 我认为我的团队逻辑是错误的。

最佳答案

因为整个内容都用括号括起来,所以 $1 指的是整个匹配,而 $2 是数字(或者如果您这样做的话,则为 \d 而不是 [d])。

尝试:

var regex = /Co\. Reg\. No (\d+)/;
var replace = "<a href='http://companylookup.com/$1'>$&</a>";

在本例中,我删除了多余的括号(这使得 $1 再次成为数字部分),并使用正确的 $& 来引用整个匹配项。

关于javascript - 正则表达式小组赛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23411767/

相关文章:

javascript - 在 TVOS 模拟器中重新加载和调试 JavaScript

javascript - 通过第一列制作可扩展的表格 View 单元格

javascript - 等待多个 promise 被拒绝

mysql - 在 MySql 正则表达式查询中使用变量

javascript - 如何使用正则表达式抓取 URL 内容

java - 将 Java 反向引用传递给方法参数

javascript - 切换 jQuery 中的当前元素

javascript - 切换大小写以检查字符串是否包含子字符串

javascript - 将 Bower 模块 ng-js-Tree 添加到 AngularJs 项目

jquery - 使用 jquery 查找文本框是否被禁用或未被禁用