Javascript搜索字符串并返回匹配数
Javascript to search string and return number of matches
我有一个包含各种html标记的字符串。例如:
var str = "<div>My text is <a> here</a> and it is <a> very wonderful</a>. For an example of how very great <a> my text is</a>. Please have a look</div>"
我想使用javascript string.replace()来替换仅不在标签(锚在这种情况下)内的单词。它还取决于用户输入,因此我需要在RegExp中包含一个变量。我首先使用string.match()进行测试;来验证我只得到一个匹配。
我借用了javascript regex的代码,用链接替换了一些单词,但不是在现有的链接中,只是切换了。replace到。match。所以我使用下面的代码:
var word = "very";
var regex = new RegExp("/" + word + "(?![^<]*?<'/a>)/g");
console.log(str.match(regex).length);
它返回给我TypeError: titleText.match(…)为空在我看来,没有找到匹配。但是,如果我像这样构建它:
console.log(str.match("/very(?![^<]*?<'/a>)/g").length);
我得到预期的结果数;在本例中,为1;
有什么建议吗?
在将正则表达式构建为字符串时不要包含斜杠:
var regex = new RegExp(word + "(?![^<]*?<'/a>)","g");
相关文章:
- 如何从Ajax请求中获取返回值并将其分配到元素中
- Asp.net WebMethod-返回字符串[]并使用JavaScript进行解析
- if-else-if JavaScript 返回 true 并退出,无论输入如何
- 可以返回值并充当对象的函数
- 如何返回变量并同时重置/删除它
- AngularJS - IE8 - 将$index传递给ng-click中的函数始终返回0并执行多次
- 从 onload 方法返回值并分配给变量
- 从对象返回数据并通过 AngularJS 以
- 显示
- 如何返回按钮并查看浏览器的源代码
- window.open在内联脚本中返回null并失败,但可以在控制台中工作
- Karma返回错误并执行0中的0,尽管我有一个使用Jasime的测试
- 只想使用返回值并忽略警报
- 如何捕获php消息返回值并通过java脚本警报显示它
- 从函数返回值并使用它
- 如何创建一个“;返回函数并拆分csv文件的函数“;
- 如果一个或多个if语句为false,我如何返回false并停止发送电子邮件
- 在提交表单后正确地返回值并在html中打印
- 如何在angularjs中检查承诺返回值并采取行动
- 点击,不要等待函数返回true并打开链接
- Ajax通过javascript路由,控制器应该返回json并返回html页面