首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何不使用regex从段落中选择链接

如何不使用regex从段落中选择链接
EN

Stack Overflow用户
提问于 2021-11-01 20:12:24
回答 1查看 30关注 0票数 1

我尝试编写一个正则表达式代码来从段落中选择单词,而不是从链接中选择单词,即使段落包含链接也是如此。我已经为:<p>this <a href="">is a just a test</a>text</p>尝试了这个正则表达式代码:<p.*?>(.*?)test(.*?)<\/p>

但是我的代码也选择了<a....../a>中的内容。是否可以仅从<p>选择单词,而不从<a>选择单词。如果是,那是怎么做的?

EN

回答 1

Stack Overflow用户

发布于 2021-11-01 21:38:17

一种相对简单但不是万无一失的方法是,如果字符串中"</a>"出现在"<a "之前,则使用否定的先行查找来防止匹配。

代码语言:javascript
复制
(?!(?:(?!<a\s).)*</a>)

将其包含在您想要匹配的模式之前,例如,\bte[sx]t\b,它本身通常会同时匹配"test""text"

代码语言:javascript
复制
const s = '<p>this <a href="">is a just a test</a>text</p>';

console.log(
  s.match(/(?!(?:(?!<a\s).)*<\/a>)\bte[sx]t\b/g)
);

代码语言:javascript
复制
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69802306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档